gpt4 book ai didi

发布/订阅中的 Redis 集群与 ZeroMQ,用于水平扩展的分布式系统

转载 作者:IT王子 更新时间:2023-10-29 05:54:50 24 4
gpt4 key购买 nike

如果我要设计一个巨大的分布式系统,其吞吐量应与系统中的订阅者数量和 channel 数量成线性比例关系,哪个更好?

1) Redis Cluster(只针对Redis 3.0 alpha,如果是集群模式,你可以在一个节点发布,在另一个完全不同的节点订阅,消息会传播并到达你手中) . Publish 的复杂度是 O(N+M),其中 N 是订阅客户端的数量,M 是系统中订阅模式的数量,但是在 Redis 集群中它如何扩展?我接受对此的有根据的猜测。

2) ZeroMQ 从 3.x 开始,它进行服务器端过滤,所以它也有一些时间复杂度,但我没有在文档中看到任何关于它的信息。如果我想扩展它,我可以让很多服务器发布到任何 channel ,每个订阅者将连接到所有服务器,并订阅所需的 channel 。这看起来不错。

那么,对于大型发布系统的横向扩展,其中哪一个更好?我应该研究哪些其他解决方案?请记住,我想最大限度地减少延迟和吞吐量,但又要能够水平扩展。

最佳答案

我猜你想尽量减少延迟。 channel 数无关紧要。关键因素是发布者的数量和订阅者的数量,消息大小,每个发布者每秒的消息数,每个订阅者接收到的消息数,大概。 ZeroMQ 每秒可以处理几百万条从一个节点到另一个节点的小消息;您的瓶颈将是网络,而不是软件。因此,大多数高容量 pubsub 架构使用 ZeroMQ 支持的类似 PGM 多播的东西。

关于发布/订阅中的 Redis 集群与 ZeroMQ,用于水平扩展的分布式系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com