{"id":19937051,"url":"https://github.com/linw7/tkeed","last_synced_at":"2025-04-05T06:09:52.044Z","repository":{"id":41045389,"uuid":"69783324","full_name":"linw7/TKeed","owner":"linw7","description":"🌎 High Performance HTTP WebServer","archived":false,"fork":false,"pushed_at":"2018-02-07T12:26:18.000Z","size":2170,"stargazers_count":636,"open_issues_count":6,"forks_count":190,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T05:09:56.254Z","etag":null,"topics":["epoll","http","network-programming","nginx"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linw7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-02T06:47:56.000Z","updated_at":"2025-03-14T01:55:15.000Z","dependencies_parsed_at":"2022-09-20T20:52:02.323Z","dependency_job_id":null,"html_url":"https://github.com/linw7/TKeed","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw7%2FTKeed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw7%2FTKeed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw7%2FTKeed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw7%2FTKeed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linw7","download_url":"https://codeload.github.com/linw7/TKeed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294541,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["epoll","http","network-programming","nginx"],"created_at":"2024-11-12T23:30:31.911Z","updated_at":"2025-04-05T06:09:52.018Z","avatar_url":"https://github.com/linw7.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TKeed WebServer\n\n**TKeed is a high performance HTTP WebServer uses the Reactor model. Code normative and functional scalability are close to the industry level. The project will be updated until feature have been completed. Have a fun. SYSU, TeeKee.**\n\n![info](./datum/info.png)\n\n## Dev Document\n\n| Part Ⅰ | Part Ⅱ | Part Ⅲ | Part Ⅳ | Part Ⅴ | Part Ⅵ | Part Ⅷ | Part Ⅸ | Part Ⅹ |\n| :--------: | :---------: | :---------: | :---------: | :---------: | :---------: |:--------:| :--------:|:--------:|\n|  [项目目的](https://github.com/linw7/TKeed/blob/master/%E9%A1%B9%E7%9B%AE%E7%9B%AE%E7%9A%84.md)  | [并发模型](https://github.com/linw7/TKeed/blob/master/%E5%B9%B6%E5%8F%91%E6%A8%A1%E5%9E%8B.md)|[核心结构](https://github.com/linw7/TKeed/blob/master/%E6%A0%B8%E5%BF%83%E7%BB%93%E6%9E%84%E4%BD%93.md)|[整体架构](https://github.com/linw7/TKeed/blob/master/%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90.md)|  [主要函数](https://github.com/linw7/TKeed/blob/master/%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0.md)| [遇到的困难](https://github.com/linw7/TKeed/blob/master/%E5%90%AF%E7%A4%BA%E5%BD%95.md) |  [测试及改进](https://github.com/linw7/TKeed/blob/master/%E6%B5%8B%E8%AF%95%E5%8F%8A%E6%94%B9%E8%BF%9B.md) | [背景知识](https://github.com/linw7/TKeed/blob/master/%E8%83%8C%E6%99%AF%E7%9F%A5%E8%AF%86.md)|[使用教程](https://asciinema.org/a/132577)|\n\n---\n\n## Dev Environment\n\n**Dev Tool**\n\n- 操作系统：Ubuntu 16.04\n\n- 编辑器：Sublime + Vim\n\n- 编译器：gcc 5.4.0\n\n- 单元测试：~~gtest~~\n\n- 版本控制：git\n\n- 代码结构：[Understand](https://scitools.com/) + [callgraph](http://blog.csdn.net/solstice/article/details/488865)\n\n- 集成环境：[Clion](https://www.jetbrains.com/clion/)\n\n**Other**\n\n- 自动化构建：[Travis CI](https://travis-ci.org/linw7/TKeed)\n\n- 压测工具：[WebBench](https://github.com/EZLippi/WebBench)\n\n--- \n\n## Timeline\n\n**Now**\n\n- v1.0已经完成，本地已调试通过。提交到GitHub上的代码会由Travis自动构建。\n\n    特性：\n\n    - 添加Timer定时器，定时回调handler处理超时请求\n\n        - 高效的小根堆结构\n\n        - 惰性删除方式\n\n    - 实现了HTTP长连接传输数据\n\n        - 非阻塞I/O\n\n        - epoll边缘触发模式（ET）\n\n    - 线程池操作及其同步互斥管理\n\n        - 调度选项\n\n            - 队列式FIFO调度模式\n\n            - 加入优先级的优先队列 (+)\n\n    - 使用状态机解析HTTP协议，非简单字符串匹配方式解析请求\n\n- v1.1修改了CPU负载较高问题，修改后1000并发各线程（4worker）CPU使用率10%左右。\n\n**Feature**\n\n- v2.0实现Json解释器解析配置\n\n- v3.0实现FastCGI（功能扩展）\n\n- v4.0实现服务器缓存（性能加速）\n\n- v5.0实现反向代理（安全性及负载均衡）\n\n---\n\n[![Build Status](https://travis-ci.org/linw7/TKeed.svg?branch=master)](https://travis-ci.org/linw7/TKeed)\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinw7%2Ftkeed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinw7%2Ftkeed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinw7%2Ftkeed/lists"}