在我最喜欢的场景中,我有多个运行相同sails.js应用程序的动态节点。节点需要相互发送消息。我尝试通过带有节点模型的redis db来实现这一点。每个服务器都订阅所有模型并为自己创建一个模型。这可以通过sails.io.js在客户端上轻松完成。
但是如何在服务器代码中为模型房间订阅和注册回调函数?这些节点无法通过tcp进行通信,因为它们生活在隔离的docker环境中。任何想法将不胜感激!
答案 0 :(得分:1)
将您的节点放在同一个docker网络上,以允许它们相互发现。如果你还不熟悉docker网络,我建议你阅读 Understand Docker container networks ,这是一个很棒的工具。
这可以在sails.io.js的客户端上轻松完成。
完全有可能。您必须使用服务器上的socket.io.js
客户端:https://github.com/balderdashy/sails.io.js
对于服务器到服务器的通信,我更喜欢发布/订阅消息传递工具,如redis PupSub http://redis.io/topics/pubsub或https://www.rabbitmq.com/