Netty 集群怎么实现消息下发并回调

2022-01-10 16:45:07 +08:00
 rapperx2

目前遇到的场景是一个 IOT 设备,用户需要向设备端下发查询命令,然后返回查询数据给用户。

目前我想的是,广播消息给服务端,然后找到设备端连的哪个台服务器,然后下发指令。但是这个过程不知道用什么方式回调给用户。 麻烦各位大佬指教指教

1793 次点击
所在节点    Java
3 条回复
linbiaye
2022-01-11 00:01:21 +08:00
每个消息给一个唯一 id ,客户端响应指令以后,带上 id 回调结果
chenny3
2022-01-15 20:30:57 +08:00
IOT 可以考虑使用 mqtt 协议。每个 device 都有唯一的 id ,给指定 id 的设备发送消息即可。
huang119412
2022-01-19 10:49:59 +08:00
"广播消息给服务端,然后找到设备端连的哪个台服务器", 这可以发送执行命令,回调其实也没什么问题,那同步查询呢? TCP 是有状态服务,简单点只需要维护 machineId<=>channel ,和 machineId->serviceId 这两个关系,就能知道某台机器在哪台服务器上,前者只需要 chm 就行了,后者就需要 redis 之类全局通信组件了。netty 的事件机制,也不需要特别复杂的双写一致。分析一下回调,如果回调是 http(无状态),则没什么问题。可以加路由 http 服务器专门转发用户机器请求,架构就是 用户<=>业务服务器 http<=>路由服务器 http<=>TCP 服务器。

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

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

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

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

© 2021 V2EX