gpt4 book ai didi

redis - ServiceStack.Redis v3 和多主机——推荐架构

转载 作者:IT王子 更新时间:2023-10-29 06:13:53 25 4
gpt4 key购买 nike

我们遇到了 RedisMqServer 的多个实例相互绊倒的问题 - 停止一个服务器会停止其他服务器。显然我们实现它的方式是错误的,但我无法确定在这种情况下应该如何使用 RedisMqServer

我们的基础设施包括:

  • 主/从配置中的两个 Redis 服务器
  • 两个负载平衡的 API 实例(以下称为“API A”)
  • 两个负载平衡的 API 实例(以下称为“API B”)

API A 和 B 是两个独立的应用程序,它们使用 ServiceStack.Redis 的 RedisMqServer 相互发送同步和异步消息。我们使用的是 ServiceStack 的开源 v3 修订版。

两个 API 都配置了一个 RedisMqServer,因为异步通信是双向发生的。

RedisMqServer 被释放时,它会在 mq:topic:in channel 上发送一个 STOP 消息,这会导致服务器取消订阅所有 channel ,因此阻止它为请求提供服务。

但是,由于该 channel 同时被 API A 和 API B 使用,停止其中一个最终会停止另一个。

是否应该为每个 RedisMqServer 实例使用一个 Redis 服务器实例?

请注意,每个 API 在任何时间点都只连接到一个 Redis 服务器。仅当主服务器不可用时才连接到从服务器。

最佳答案

这是 v3 中 Redis MQ 的行为,但 v4 中最新的 RedisMqServer 可以正常工作,并且只会停止已处理的 RedisMqServer 实例。

关于redis - ServiceStack.Redis v3 和多主机——推荐架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42104615/

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