我已经使用node.js一段时间了,只是在玩模块。我有一个问题,是否有可能连接多个node.js服务器并在它们之间建立通信链路?
我的意思是,我有3个node.js服务器,每个服务器处理不同的操作和不同的客户端。我想在这些服务器之间创建链接,以便每个服务器都可以通信。
server1 ==> [database]
server2 ==> room1[client1,client2,client3]
server3 ==> room2[client4,client5,client6]
我可以使用'net'在2台服务器之间创建连接,但是如何处理多个服务器?
这里有很多选项:
- 某种集线器服务器(服务器4)。服务器1-3都是对称的,并且是服务器4的客户端。每当需要广播消息时,服务器4将其发送到所有客户机。可能的解决方案:dbus, 0mq/rabbitmq, redis pub/sub, socket.io <
- udp广播/gh>
- 配置每个服务器具有所有服务器的列表,并通过迭代连接到邻居手动广播所有传入数据包。需要使用某种TTL字段来避免循环