Giter VIP home page Giter VIP logo

tkeed's Introduction

TKeed WebServer

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.

info

Dev Document

Part Ⅰ Part Ⅱ Part Ⅲ Part Ⅳ Part Ⅴ Part Ⅵ Part Ⅷ Part Ⅸ Part Ⅹ
项目目的 并发模型 核心结构 整体架构 主要函数 遇到的困难 测试及改进 背景知识 使用教程

Dev Environment

Dev Tool

  • 操作系统:Ubuntu 16.04

  • 编辑器:Sublime + Vim

  • 编译器:gcc 5.4.0

  • 单元测试:gtest

  • 版本控制:git

  • 代码结构:Understand + callgraph

  • 集成环境:Clion

Other


Timeline

Now

  • v1.0已经完成,本地已调试通过。提交到GitHub上的代码会由Travis自动构建。

    特性:

    • 添加Timer定时器,定时回调handler处理超时请求

      • 高效的小根堆结构

      • 惰性删除方式

    • 实现了HTTP长连接传输数据

      • 非阻塞I/O

      • epoll边缘触发模式(ET)

    • 线程池操作及其同步互斥管理

      • 调度选项

        • 队列式FIFO调度模式

        • 加入优先级的优先队列 (+)

    • 使用状态机解析HTTP协议,非简单字符串匹配方式解析请求

  • v1.1修改了CPU负载较高问题,修改后1000并发各线程(4worker)CPU使用率10%左右。

Feature

  • v2.0实现Json解释器解析配置

  • v3.0实现FastCGI(功能扩展)

  • v4.0实现服务器缓存(性能加速)

  • v5.0实现反向代理(安全性及负载均衡)


Build Status license


tkeed's People

Contributors

linw7 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.