gpt4 book ai didi

RabbitMQ——最佳实践

转载 作者:行者123 更新时间:2023-12-04 03:21:13 25 4
gpt4 key购买 nike

我正在尝试同步我拥有的三个微服务。

为了做到这一点,我实现了 RabbitMQ。目前似乎一切正常,但我不确定我是否遵循了最佳实践,而且我找不到引用来查找它,也许有人可以帮助我?

简要说明我正在尝试做的事情:我有一项服务应该更新另外两项,每个服务都应该接收发送的消息。我有两种类型的消息(保存和删除资源)。* 如果出现故障,队列应该恢复并重新发送消息。

我目前在做什么:我已经建立了一个交换器,我的每个消费者都连接到两个不同的队列,一个用于每种类型的消息(保存/删除)。我使用了直接交换以便稍后过滤消息,即使目前我不需要过滤它们。

每个队列都已命名,交换和消息都是持久的,我正在确认我消费的消息。

问题我应该为每种类型的事件设置不同的队列,还是应该在同一个队列上发送消息并过滤它们?上面描述的RabbitMQ的使用是问题的正确解决方案。最佳做法是什么?

最佳答案

您的设置是正确的。

在 rabbit 中设计队列时的一个常见规则是,一个队列对应一种类型(这里的类型表示不同的处理逻辑)的消费者。所以,既然你有两种类型的消费者。他们对不同类型的事件(保存/删除)有不同的逻辑,每个队列一个是完全正确的。

如果你只想有一种类型的消费者,它可以同时处理保存和删除事件,那么使用一个队列也是可以的。

但是两种消费者和一个共享队列是行不通的。因为当多个消费者订阅一个队列时,事件以一种循环方式发送给消费者,因此您的任何一个消费者只能接收一半的事件。

关于RabbitMQ——最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38303681/

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