淘宝的Tengine都改了什么,淘宝Tengine


Tegine logoTengine是由淘宝Servers Platform Team基于Nginx修改的一个服务器,中午趁着大家都在睡觉,粗粗地拿了代码看下都修改了哪些东西。个人认为里边比较有用的修改是input filter和sysguard,由于只是粗看,没有留意细节,可能有错漏。以下是分代码目录的修改记录笔记:

  0. others 1) 配置默认值的修改ON->OFF之类的 2) bug/logic相关的修改,还细看就不细说了。   1. core 1) 增加configure的dump 2) 增加一此log方式或方法 3) 增加内存池管理realloc 4) 增加字符串处理ngx_atoll,修改unescape_uri以支持www的form 5) 增加log的另一种时间格式   2. event 1) 增加统计信息request_time 2) 修改/增加ssl加密方式   3. http 1) 增加input filter 2) 增加server tag用于response中Server这个header的设置,还有admin/info等用于修改一些页面信息-_-   4. http/module 1) 增加ngx_http_concat_module模块,用于多个静态文件的合并返回 2) 增加ngx_http_footer_filter_module模块,用于在末尾插入一段东西 3) 修改ngx_http_headers_filter_module模块,按type设置expire time 4) 修改ngx_http_limit_req_module模块,增加白名单,规则似乎也有修改 5) 修改ngx_http_stub_status_module模块,记录request time 6) 增加ngx_http_sysguard_module模块,用于在cpu/mem资源不足时,报警并执行action(可认为主动拒绝服务)   5. misc 1) 增加ngx_backtrace_module打印堆栈信息,便于与signal相关(SIGXXX)出错时的问题定位。   6. os 1) 增加realloc 2) 增加了pipe 3) 增加ngx_syslog_module,用于向syslog日志服务器写日志 4) 增加了cpu/mem的信息获取方法   7. mail 没管  
2012-02-14 UPDATE: 关于ngx_syslog,因为我们也有类似的需求(但不是针对syslog服务),自己此前想过这个功能的实现,看了下Tengine发现与我要求的还有不同:该功能是同步阻塞的,发送出错也是直接失败,这些应该可以改进,比如异步,非阻塞,出错时区分中断、阻塞或其他错误等。

相关内容

    暂无相关文章