我需要实时实现服务器和终端的分析系统。
我使用库ZeroMq(pub | sub模式)向客户端发送消息(~40bytes)。
如果我连接1个客户端,则消息会有延迟(有时超过250毫秒)。 如果我与100个客户端连接,很多客户端会失去交付的一致性(超过750毫秒没有一条消息,在那么大的数据范围之后)。这对我来说是至关重要的问题。
我必须发布超过6000个终端... 每30ms发布一次,在最坏的情况下(tcp),每个客户端约为1700字节
也许我应该使用其他技术实时传递消息?
答案 0 :(得分:1)
正如我在评论中所说,多播就是这样。最重要的问题是您的终端是否可以加入您正在发布的群组 - 无论他们离您有多远。
您没有说明终端如何连接到您的网络 - (例如通过互联网连接vpn,私有线等等。)您要求更好的技术 - 它是多播。
现在有一些选择,如果你要沿着tcp路线走下去: