V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zyearn
V2EX  ›  分享创造

Nginx 源码太难读?先来看看 Zaver 吧

  •  4
     
  •   zyearn ·
    zyearn · 2016-03-11 17:26:06 +08:00 · 4000 次点击
    这是一个创建于 2973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Zaver

    Yet another fast and efficient HTTP server.
    代码地址:https://github.com/zyearn/zaver

    purpose

    Zaver 的目的是帮助开发者理解基于 epoll 的高性能服务器是如何开发的。
    Nginx 是一个非常好的服务器开发学习范例,但是它的代码规模较大也较复杂,让许多人望而却步。
    Zaver 用非常少的代码展示了像 Nginx 这类高性能服务器的核心结构,为开发者进一步学习网络编程打下基础。

    programming model

    • epoll
    • non-blocking I/O
    • thread-pool

    compile and run

    make
    ./objs/zaver -c zaver.conf
    

    support

    • HTTP persistent connection
    • browser cache

    todo

    • add command line parameter
    • add conf file
    • sendfile
    • proxy
    • other HTTP/1.1 features
    • memory pool
    • timer(e.g. close socket when timeout)

    恳请各位提出一些意见和拍砖~~

    7 条回复    2016-03-14 09:55:37 +08:00
    qgy18
        1
    qgy18  
       2016-03-11 23:22:49 +08:00 via iPhone
    赞一个。先 star ,周末学习!
    Jaylee
        2
    Jaylee  
       2016-03-11 23:25:46 +08:00
    已 star
    zyearn
        3
    zyearn  
    OP
       2016-03-12 10:40:07 +08:00
    @qgy18 @Jaylee 如果对 zaver 的编程模型和架构是怎么一步一步构建起来有兴趣,可以看看我的博文: http://lifeofzjs.com/blog/2015/05/16/how-to-write-a-server/,有问题讨论可以在下面留言,我会及时回复:)
    kimmykuang
        4
    kimmykuang  
       2016-03-12 11:14:48 +08:00
    已 star
    jedihy
        5
    jedihy  
       2016-03-14 08:50:36 +08:00
    已 star ,大赞!!!!!
    dcoder
        6
    dcoder  
       2016-03-14 09:01:03 +08:00
    @zyearn
    mark 了你的 blog
    zyearn
        7
    zyearn  
    OP
       2016-03-14 09:55:37 +08:00
    @jedihy @dcoder thks :)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2108 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:56 · PVG 09:56 · LAX 18:56 · JFK 21:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.