Workerman多进程时,怎么向别的进程管理的连接发消息?
我现在要做一个远程控制设备的程序,整体结构如下:
设备1,设备2,……
| /
服务器
| \
控制台1,控制台2,……
每台设备可以有多个控制台,每个控制台只能控制一台设备。
目前服务器采用 Workerman 的 WebSocket 协议把控制台和设备连起来。我的问题是,当多个 Worker 进程时,如果控制台和设备的连接不在同一个进程里,比如,设备1 发生状况时,向所有关注它的控制台发出通知,但可能有部分控制台在另一个进程里,怎么通知它们呢?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最佳实践应该是引入 MQ(Message Queue),通过订阅消息来实现你的需求,这样可以跟具体的实现解耦。
差一点儿的话你就得搞进程通讯来。像 WorkerMan 本身提供了 Channel 组件可以用于进程间通信。如果要跟操作系统强耦合的话,也可以用 Linux 上提供的共享内存之类的。