Redis 与发布/订阅场景的服务总线

问题描述 投票:0回答:2

我在 Azure 中有多个服务,我想使用某种发布/订阅服务来同步它们之间的更改。

我正在研究 Redis 和 Azure 服务总线。

要同步的数据非常简单 - 大部分是最多 100 个字符的字符串

我想知道我的首选是什么 - 或者我的方向是否正确..

我的要求很简单:

  1. 低延迟 - 许多小操作
  2. 可选 - 能够在本地安装解决方案,而不是在 Azure 中
azure redis publish-subscribe azureservicebus
2个回答
16
投票

不要为此使用 Redis。 Redis PubSub 并不可靠(它是“即发即忘”)。如果 Redis 发布消息时没有人监听会发生什么?它会永远丢失,这意味着您的服务将不会同步... 也许您没有听说过

Azure Pack。它不是完整的 Azure 本地部署,但它包括 Service Bus。如果您从公共云或私有云使用它应该没有问题。 请注意,您也许能够使用 Redis 实现可靠的消息传递,但不能在默认的

pubsub

之上。 Redis 和服务总线的可能替代方案应该是

RabbitMQ


0
投票

我们同时使用发布/订阅功能和通过流的可靠消息传递。因为我们使用的实时数据的生命周期有限,所以如果我们错过了通过发布/订阅的消息,那么这并不重要。我们使用带有 ack 的流来处理更关键的数据,例如处理警报等。

我们考虑了许多替代方案,包括服务总线(对于大容量而言价格昂贵且不易在本地实施)和 RabbitMQ。后者很棒,但除了 Redis(对我们而言)之外没有提供任何其他功能,而 Azure 将 Redis 作为托管服务提供,因此需要 2 分钟才能完成设置。

© www.soinside.com 2019 - 2024. All rights reserved.