Joã*_*imo 17 publish subscription publish-subscribe zeromq redis
如果我要设计一个庞大的分布式系统,其吞吐量应与用户数量和系统中的通道数量成线性关系,这会更好吗?
1)Redis Cluster(仅适用于Redis 3.0 alpha,如果它处于群集模式,您可以在一个节点中发布并在另一个完全不同的节点中订阅,并且消息将传播并与您联系).Publish的复杂性是O(N + M),其中N是订阅客户端的数量,M是系统中订阅模式的数量,但是在Redis群集中它如何扩展?我接受有关这方面的有根据的猜测.
2)自3.x以来的ZeroMQ,它进行服务器端过滤,因此它也有一些时间复杂度,但我在文档中没有看到任何关于它的内容.如果我想扩展它,我可以让很多服务器发布到任何通道,每个订户将连接到所有服务器,并订阅所需的通道.这看起来不错.
那么哪一个更适合大型发布者系统的横向扩展?我应该研究哪些其他解决方案?请记住,我希望最小化延迟和吞吐量,但能够水平扩展.
Pie*_*ens 14
我想你想减少延迟.渠道数量无关紧要.关键因素是发布者数量和订阅者数量,消息大小,每个发布者每秒的消息数量,每个订阅者接收的消息数量,大致.ZeroMQ每秒可以从一个节点到另一个节点执行数百万条小消息; 在它成为软件之前,你的瓶颈就是网络.因此,大多数高容量的pubsub体系结构使用类似于PGM多播的东西,ZeroMQ支持它.
| 归档时间: |
|
| 查看次数: |
7797 次 |
| 最近记录: |