写 IM 的话 Go 和 Netty 哪个性能好?

2022-01-10 16:48:02 +08:00
 huihuiHK

如题。

3322 次点击
所在节点    程序员
7 条回复
KevinBlandy
2022-01-10 17:37:46 +08:00
我个人觉得 Netty 。go 虽然可以开启多个协程,但是该阻塞还是阻塞。Netty 的 reactor 模式,所有操作都是异步的,不会阻塞。能充分榨干硬件性能。

我也只是瞎猜哈,我没验证过。
MidGap
2022-01-10 18:14:47 +08:00
Netty 已经成为语言了吗
huihuiHK
2022-01-10 19:20:40 +08:00
@MidGap 一般用 java 写 im 的话首选 netty 吧
gugugu233
2022-01-11 10:45:56 +08:00
go 协程的优点是非常容易上手,编程范式标准统一很难写崩,并且能提供还算凑合的性能。而这个还算凑合的性能肯定是打不过基于 event drive 的框架。
lovesky
2022-01-11 14:50:09 +08:00
用语言和框架做比较,不太合适吧。
eurry
2022-01-11 19:11:48 +08:00
netty
Gota
2022-01-11 19:48:02 +08:00
这个问题太泛泛了, 只有先明确 IM 的功能完备程度, 需要支持的水平扩展规模等实际问题之后才能合理估计性能, 不然容易陷入局部最优的窘境. 也可以先找 https://github.com/OpenIMSDK/Open-IM-Server 这类成熟的项目研究看看.

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

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

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

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

© 2021 V2EX