免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 33382 | 回复: 43

[算法] 大家对tengine(nginx的淘宝分支)怎么看? [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2013-12-27 16:30 |显示全部楼层
本帖最后由 OwnWaterloo 于 2013-12-30 00:50 编辑

项目主页:中文英文
github地址: 代码网站文档(tengine-website/util里貌似有一些工具可以转换md和协助翻译什么的)。

据官方说法是用在淘宝和天猫上:
简介
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

我比较在意的是这些功能:

  • 负载均衡相关
    一致性hash模块:中文英文
    会话保持模块: 中文英文
    还可以对后端的服务器进行主动健康检查:中文英文(这个链接在首页里没有但可以通过url的规律猜出来)。
  • 静态文件相关
    组合多个CSS、JavaScript文件的访问请求变成一个请求:中文英文
    自动去除空白字符和注释从而减小页面的体积:中文英文(这个链接是首页给出来的不过失效了。根据url猜的另一个链接也失效)。

对网站来说这些功能都是需要的。但这些功能是否都应该集中在这一个软件中?是否都应该是nginx/tengine的职责
我觉得tengine的这种做法更符合Windows下那种大而全而不是*nix下那种小而专的思想。

一般地说其实什么思想哲学都无所谓。至少我觉得对使用来说都不是必须考虑的因素。只要确实好用也都OK。
按照前面官方的说法tengine应该是靠谱的。哪怕有某些小不靠谱的地方淘宝、搜狗的技术团队肯定会去操心的。
作为对比。根据cnblogs分享出的经验来看我感觉阿里云就不靠谱。如果阿里巴巴自己也用阿里云估计它就必须靠谱了。

针对tengine来说,它走这种高大上的路线我担心很有可能nginx官方不会合并它的代码啊。。。
根据FAQ(英文,中文)来看确实是这样。
而且我怀疑被明确指出不会合并的功能应该不仅是syslog and pipe support。那两个和静态文件相关的功能也很有可能被拒绝啊。。。

而且这两类功能我感觉也挺鸡肋的。。。
Web Server怎么可能把和静态文件相关的那两个功能做好做精?不是应该用专门的工具在部署的时候搞定么?
对于负载均衡相关的功能目前还没有经验。但我更倾向于不让session们粘着在某一个服务器上,不管是通过一致性hash还是会话保持。于是健康检查也不是很紧要的功能了?

希望大家多给点(尤其是不同的)看法、意见、建议什么的。多谢多谢。。。
多选投票: ( 最多可选 2 项 ), 共有 14 人参与投票
27.78% (5)
11.11% (2)
5.56% (1)
55.56% (10)
您所在的用户组没有投票权限

论坛徽章:
1
双子座
日期:2013-11-06 17:18:01
发表于 2013-12-27 17:17 |显示全部楼层
占楼。:wink:

论坛徽章:
1
双子座
日期:2013-11-06 17:18:01
发表于 2013-12-27 17:20 |显示全部楼层
看过一段时间的nginx 代码,真的学习了不少。才3点多M,也不大。
可惜平常不接触WEB。

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
发表于 2013-12-27 17:37 |显示全部楼层
淘宝那么牛掰的业务都能搞的定,亲就不要顾虑了!

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
发表于 2013-12-27 22:10 |显示全部楼层
淘宝现在从内核到中间件要全fork一遍。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2013-12-28 00:16 |显示全部楼层
回复 3# seufy88

http://www.ohloh.net/p/nginx/analyses/latest/languages_summary
有几十行的Assembly和C++是怎么回事。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2013-12-28 00:22 |显示全部楼层
回复 4# linux_c_py_php

只要淘宝自己会用那对它的质量倒没什么顾虑。。。

问题就是功能挺鸡肋的。。。
CSS不熟。
html是否除去空白与注释等等在gzip之后会有多少差别? 除去空白和注释后调试会不会不方便啊。。。
如果html是一些片段需要拼接, 估计tengine不会想复杂到这种程度吧?
js如果只是简单合并相比专业的mangle工具弱爆了的感觉。。。

总之这些都有专业的工具。 把它做在web server里显得不上不下的。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2013-12-28 00:24 |显示全部楼层
回复 5# tempname2

内核也搞? 针对web做了一些修改? 求传送门。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2013-12-28 00:47 |显示全部楼层
我去。。。 还真有汇编和C++的代码。。。
src/os/unix/rfork_thread.S
src/misc/ngx_cpp_test_module.cpp

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
发表于 2013-12-28 13:50 |显示全部楼层
回复 8# OwnWaterloo

http://kernel.taobao.org/index.p ... _successful_stories

看起来是基于红帽内核backport必要的patch,以及实现一些不在主线上的feature。

上次Ted为了out-of-tree的patch在主线代码里私自加了个flag引起轩然大波,他的辩解里就提到google和taobao都在用这个东西。

It doesn't change the interface or break anything; it just reserves a bit so that out-of-tree patches don't collide with future allocations. There are significant usages of this bit within Google and Tao Bao. It is true that there has been significant pushback about adding this functionality on linux-fsdevel; I find it personally frustrating that in effect, if enough people scream, they can veto an optional feature that might only be implemented by a single file system.


http://lwn.net/Articles/527373/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP