我正在研究Node.js网络库实现聊天服务器的潜力。我对node.js非常陌生。我想知道到net服务器的客户端连接如何在多个服务器之间实现负载平衡(以处理大负载),以及如何向跨服务器的所有连接发送一条消息。是否有任何可用的服务器可以帮助这一点?还是应该查看socket.io或其他实现库?
发布于 2014-02-01 19:42:59
在开发Mote.io时,我遇到了一个类似的问题,并决定使用托管解决方案,而不是构建负载均衡器。处理这个问题非常困难,因为您需要跨服务器同步数据,或者将客户端负载平衡到同一个实例,以确保它们得到所有相同的消息。
具体而言,Socket.io帮不了多少忙。您需要实现redis、其他一些数据同步或负载平衡应用程序。
PubNub也会处理这个问题。后端负责在抽象级别上同步消息、负载平衡等,所以您所做的就是提供一个通道名称,PubNub将确保该通道中的所有客户端都得到该消息。
10行代码实时聊天应用程序

Enter Chat and press enter
<div><input id=input placeholder=you-chat-here /></div>
Chat Output
<div id=box></div>
<script src=http://cdn.pubnub.com/pubnub.min.js></script>
<script>(function(){
var box = PUBNUB.$('box'), input = PUBNUB.$('input'), channel = 'chat';
PUBNUB.subscribe({
channel : channel,
callback : function(text) { box.innerHTML = (''+text).replace( /[<>]/g, '' ) + '<br>' + box.innerHTML }
});
PUBNUB.bind( 'keyup', input, function(e) {
(e.keyCode || e.charCode) === 13 && PUBNUB.publish({
channel : channel, message : input.value, x : (input.value='')
})
} )
})()</script>https://stackoverflow.com/questions/20603013
复制相似问题