nanomsg或ZeroMQ是否适合扩展客户端连接的数量?

时间:2015-07-06 17:05:07

标签: c tcp zeromq scalability nanomsg

我需要构建一种即时消息系统。从我的简短探索中,ZeroMQ和nanomsg的目标是后端分布式系统中的服务器 - 服务器通信,而不是管理+ 100K同时的最终用户客户端连接。那是准确的吗?如果是这样,C中是否有一个很好的消息传递库,可以很好地扩展客户端数量?消息可以是服务器 - >客户端推送和客户端 - >服务器请求/响应的混合。

2 个答案:

答案 0 :(得分:0)

当您想要使用tcp / ip库来允许100k并发最终用户客户端时,您将遇到问题,因为系统将耗尽端口以连接所有这些客户端。似乎ZeroMQ和nanomsg都解决了这个问题。在第一眼看到我会说nanomsg是更好的方法。但我需要先尝试一下。

Nanomsg似乎实际上旨在解决您的问题。

答案 1 :(得分:0)

nanomsg库不是面向服务器的协议服务器。它有一些独特的通信设备,涵盖了广泛的通信需求。 见:nanomsg communication patterns

nanomsg库非常易于使用 - nn_bindnn_connect可以在同一个套接字上多次调用,从而允许套接字与多个异构端点进行通信。

我对ZeroMQ的nanomsg的偏好基于article1article2以及我自己的编码经验。另请参阅此处给出的非常好的比较:Are there any Python 2.7 alternatives to ZeroMQ that are released under the BSD or MIT license?

实际上,nanomsg库使网络层快速,可扩展且易于使用。