gpt4 book ai didi

Redis PUB/SUB 和高可用性

转载 作者:IT王子 更新时间:2023-10-29 06:03:14 26 4
gpt4 key购买 nike

目前我正在研究分布式测试执行和报告系统。我打算使用 Redis PUB/SUB 作为消息队列和消息分发系统。

我是 Redis 的新手,所以我正在尝试阅读尽可能多的文档并尝试使用它。最重要的主题之一是高可用性。正如我所说,我不是专家,但我知道可能的选择 - 使用 Sentinel、复制、集群等。

我不清楚 Pub/Sub 功能和 HA 选项是如何相互关联的。使用 Redis 构建可靠的消息传递系统的最佳实践是什么?我所说的可靠是指如果我的 Redis 消息代理出现故障,应该有某种备份节点(从节点?)能够接管这个角色。

是否有纯粹的服务器端解决方案?或者我是否需要围绕 Redis 客户端创建一个智能包装器来处理这个问题? Sentinel 驱动的设置对我有帮助吗?

最佳答案

在具有故障转移功能的 Redis 中执行 pub sub 意味着要考虑客户端的其他因素。要理解的一个关键部分是订阅是按连接进行的。如果你订阅了一个节点上的 channel 并且它失败了,你将需要处理重新连接和重新订阅。因为订阅是在连接级别完成的,所以它不是可以复制的东西。

关于它的工作原理和您可以期待看到的内容的详细信息,以及解决它的方法,请参阅我今年早些时候在 https://objectrocket.com/blog/how-to/reliable-pubsub-and-blocking-commands-during-redis-failovers 上发表的一篇文章。

您可以通过订阅 slave 并发布到 master 来降低风险面,但是您需要订阅不可升级的 slave 并且仍然需要处理失去 slave 的问题——失去的机会同样多一个给定的奴隶就像有一个主人一样。

关于Redis PUB/SUB 和高可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832167/

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