想用 Netty+httpHandler 自己试着实现一个 web 服务器,感觉 Tomcat 太庞大,求 V 友阻止我走向深坑。

2017-04-18 22:55:42 +08:00
 LeeAutumn
2783 次点击
所在节点    问与答
10 条回复
Cbdy
2017-04-18 23:49:46 +08:00
你可以不用 tomcat ,轻量 servlet 容器一大把,按标准写的代码都兼容

我认为总的来说, servlet api 对 http 的抽象还是比较合理的
ichubei
2017-04-19 00:30:25 +08:00
Tomcat 怎么庞大?
ihuotui
2017-04-19 02:22:18 +08:00
netty 实现 http 简单,有现成 http decode 自己加上 url map 就差不多了
jarlyyn
2017-04-19 04:26:02 +08:00
换 go 吧

不是评价语言,主要是标准库做 web 服务器很容易。
popu111
2017-04-19 06:21:46 +08:00
上吧,坑不在深,能填就行,我刚还被要求两天出一套票务系统来着
Cloudee
2017-04-19 06:39:11 +08:00
要是用 Netty 是想支持异步请求处理节省线程数的话,倒是推荐研究研究 servlet3.0 自带的线程模型。用的好的话 tomcat 下面也飞快。另外要是觉得启动速度慢,可能是框架的锅,纯写 servlet 的话就算 tomcat 的启动时间都不会超过一秒的
ryd994
2017-04-19 07:16:18 +08:00
自己实现 HTTP 服务器是坑,过来人亲身经历如是说
更何况我只是写了个简易反代,都不涉及解析 header 和 cookie
如果再考虑各种协议扩展………
换个轻量点的试试看, Nginx 反代试试看,上异步试试看
0915240
2017-04-19 09:10:01 +08:00
最简单的你实现一个 router 就行了 其实已经有相关的了。
hand515
2017-04-19 09:35:23 +08:00
用来作为深入学习的目标,这坑还是可以跳的。用来做生产上,建议慎重
xybob
2017-04-19 09:45:59 +08:00
顶 4 楼,楼主这想法, go 很容易就实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX