我想到了一个学习 nginx 的方式,嘿嘿嘿嘿

2024-02-15 12:14:01 +08:00
 millet230413

目前的工作在搞 openresty / nginx 这块,产品稳定,需求也很小,都是改一些配置和 lua 脚本,空闲时候比较多。想系统的学习一下 openresty / nginx ,看了一些书、文章和视频。然后读源码,画流程图、活动图、状态图。于是产生了用 golang 把 nignx 重写一遍想法,主要用于学习。

6145 次点击
所在节点    程序员
36 条回复
wonderfulcxm
2024-02-15 12:19:17 +08:00
厉害
Yoruno
2024-02-15 12:21:37 +08:00
为什么不用 rust?
wheeler
2024-02-15 12:24:12 +08:00
那是不是事件驱动都自己写啊
yumusb
2024-02-15 13:00:51 +08:00
给你两个月的时间 抓紧时间发布 (doge)
0o0O0o0O0o
2024-02-15 13:10:54 +08:00
Albertcord
2024-02-15 13:17:01 +08:00
期待,但这种底层好像用 rust 写更好?不是说 rust 是 C++的平替吗? nginx 就是用 c 写的吧
drymonfidelia
2024-02-15 14:29:08 +08:00
目前的工作在搞 linux 这块,产品稳定,需求也很小,都是改一些配置和 bash 脚本,空闲时候比较多。想系统的学习一下 linux ,看了一些书、文章和视频。然后读源码,画流程图、活动图、状态图。于是产生了用 golang 把 lniux (
楼主的 nginx 也是拼错的)重写一遍想法,主要用于学习。
dorothyREN
2024-02-15 14:37:46 +08:00
golang 运行时,需要垃圾回收。不合适
lesismal
2024-02-15 15:03:45 +08:00
基于 runtime 、标准库 Conn ,caddy 开销太大,根本干不过 nginx
不用 runtime 自己手撸 poller 性能也干不过 nginx 、但是好在 golang 方便开发
lesismal
2024-02-15 15:04:45 +08:00
支持 OP 用 golang 搞搞看!
但这种基础设施,我也投 rust !
millet230413
2024-02-15 16:22:10 +08:00
@0o0O0o0O0o 我知道 caddy ,之前的公司用过这个,主要就是想通过这种方式来学习 nginx ,不然光看不做假把式。
millet230413
2024-02-15 16:23:19 +08:00
@Yoruno 没碰过 rust ,公司业务用 golang 这块做的,我之前做业务部分,后来调过来做网关相关的产品,同时不想把 golang 丢下,就想用 golang 来实现。
millet230413
2024-02-15 16:26:32 +08:00
@drymonfidelia 真大佬,我主要就是用这种方法来学习 nginx ,以及网关相关的知识。我想着能在写的过程中把相关的知识点都摸一遍,这样以后产品出什么问题,能知道从哪里切入。
millet230413
2024-02-15 16:27:47 +08:00
millet230413
2024-02-15 16:31:04 +08:00
事件驱动肯定是用操作系统的
Yoruno
2024-02-15 17:11:57 +08:00
@millet230413 我也是主 go ,最近再看 rust ,感觉 rust 特性太多了,长时间不用就忘记了
mokiki
2024-02-15 17:59:03 +08:00
learn golang the crazy away
dayeye2006199
2024-02-15 18:23:12 +08:00
不如看看 caddy
lesismal
2024-02-15 18:32:29 +08:00
@millet230413 #15
如果要自己手撸 epoll ,可以试试我的:github.com/lesismal/nbio
chaleaochexist
2024-02-15 18:42:55 +08:00
开源吗? 地址?

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

https://tanronggui.xyz/t/1015701

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

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

© 2021 V2EX