Java Go Node 哪种语言最适合做物联网平台开发

2023-06-14 14:22:47 +08:00
 unt
设备量:10W 台同时在线,同时收发
对接方式:mqtt,tcp ,websocket (设备种类较多,每种设备不同的对接协议)
公司背景:中型企业,toB,本公司说了算,出现 bug 也没事
6251 次点击
所在节点    程序员
68 条回复
zbatman
2023-06-14 14:32:02 +08:00
有请 Rust 方辩手登场
Presbyter
2023-06-14 14:45:20 +08:00
曾经做过 lorawan, 我们使用的是 mqtt + go + nats 组建的核心网.
当时选择使用 go 也是因为其网络能力强一些, 当然如果但是 rust 成熟些, 我们可能就选用 rust 了, 因为 leader 是 C 出身......
yazinnnn
2023-06-14 14:51:23 +08:00
iot 用 java 需要大量 netty 的相关技能, 如果研发水平参差不齐的话, 建议用 go

另外用 node 是图啥...
Nazz
2023-06-14 14:54:21 +08:00
10W 在线量一个 go wbesocket server 实例就够了. 我们最近在跑百万连接压测: https://github.com/lesismal/go-websocket-benchmark
hhjswf
2023-06-14 15:03:49 +08:00
go
coderxy
2023-06-14 15:11:20 +08:00
用 go 吧。 多协议兼容也很方便。 性能也没啥问题
runningman
2023-06-14 15:19:44 +08:00
go ,绝对是 go
BBCCBB
2023-06-14 15:22:12 +08:00
toB 我建议你用 Java, Netty 有大量现成协议支持. mqtt 什么的也有现成方案.

当然 10w 的量级,你说的这几个任何一个都可以完成..
unt
2023-06-14 15:53:17 +08:00
关于量级:
大项目会私有化部署,不会走我们的云平台。
云平台上能做到 10W 的话我们项目也有几千万的体量的了,到时候领导就会重视起来,研发投入就不会再是个问题。
unt
2023-06-14 15:54:10 +08:00
非常感谢各位的解答🙏
INCerry
2023-06-14 16:14:01 +08:00
楼主限定了几种语言,我肯定用 C#,其实几十万同时在线这种需求对于现在有协程 /异步 IO 的开发语言压力都不大,工业物联网这个.NET 成熟和开源的项目蛮多了,基本支持各种协议和驱动,包括一些 PLC 、串口设备都支持。

举个例子: https://github.com/iioter/iotgateway
liqinliqin
2023-06-14 16:23:20 +08:00
我推荐 swoole
xingjue
2023-06-14 16:24:34 +08:00
物联网绝对 go 必须 go
smallmin97
2023-06-14 16:26:37 +08:00
请问下 MQTT Broker 的选型是哪个?我司目前用的是 EMQX 开源版,同时在线数量是 3.5 w 。
wangritian
2023-06-14 16:30:22 +08:00
必然用协程模型,开发最方便的就是 go 了
wbuntu
2023-06-14 18:00:36 +08:00
推荐用 go ,做过类似的物联网项目,服务端对接不同设备,解析二进制协议用 go 比较方便,客户端如果是带 OS 的,用 go 编译出多架构的程序也比较方便
dudubaba
2023-06-14 18:06:34 +08:00
都能实现那建议用自己熟练且相对热度不高的,既然有决定权不背锅,技术就掌握在自己手上。
coder001
2023-06-14 18:25:49 +08:00
看来用 dot net core 的只有我一个?
coder001
2023-06-14 18:29:38 +08:00
@INCerry #11 WOW ,看来我井还没有没落,没太仔细读回帖就先莽了
建议不要太过于 “迷信”(🤔?) Task/async/await 的调度机制,到头来可能还不如自己撸线程来的快 :p
xumiao
2023-06-14 19:00:08 +08:00
@smallmin97 请教一下,请问你们用的什么中间件存储数据呀🥹

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

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

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

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

© 2021 V2EX