NATS 发布者能否将一条消息发送到多个队列中?

成型

我正在构建一个系统,其中两个不同的实体需要处理来自同一源的消息(以不同的方式 - 例如一个将记录所有消息,而另一个实体可能想要聚合数据)。

理想情况下,每个实体对于性能和弹性都是完全可扩展的,因此我们有多个发布者、多个日志订阅者和多个聚合订阅者,但每个发布生成的每条消息仍然由一个日志订阅者和一个聚合订阅者处理。

使用 AMQP,我们可以通过发布到扇出交换器来实现这一点,该交换器将消息分发到两个队列,其中每个队列都有许多订阅者。我知道在 NATS 中可以实现相同的行为,只需让所有订阅者根据他们的角色使用两个不同的“队列组名称”来收听同一个“主题”。

在这种情况下,发往主题的消息将从每个队列组传递给一个订阅者,即每条消息将精确传递 n 次,n 是不同队列组的数量而不是订阅者的数量。这样对吗?

I. 科兹洛维奇

实际上,您可以使用队列订阅者(例如在 Go 中,它是这样的 API:func (nc *Conn) QueueSubscribe(subj, queue string, cb MsgHandler) (*Subscription, error).

queue是组名。例如,它可能在您的示例logaggregation. 您可以在这些组中的每一个上创建尽可能多的队列订阅者,并且每个组中只有 1 个成员会收到给定的消息。

例如,假设您发布关于主题的消息,foo并且您有 10 个队列订阅者foo使用 queue namelog和 10 个队列订阅者foo使用 queue name aggregation消息将传递给 2 个订阅者,1 个用于 group log,1 个用于 group aggregation

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby NATS简单发布

来自分类Dev

NATS持久消息Java客户端

来自分类Dev

在Siddhi中获取NATS流事件序列号

来自分类Dev

NATS流在群集和FT模式下提供什么消息持久性保证?

来自分类Dev

如何在 nats 流媒体服务器中限制 raft.log 大小?

来自分类Dev

NATS与Molecularr。如何更改NATS的max_payload值?

来自分类Dev

为什么 ROS 发布者不发布第一条消息?

来自分类Dev

向nats组提出请求

来自分类Dev

RabbitMQ-将消息发送到队列中的特定使用者

来自分类Dev

KafkaProducer无法成功将消息发送到队列中

来自分类Dev

通过一条路由将多个mongo DB查询的结果发送到我的视图

来自分类Dev

Java:使用多个线程将消息发送到JMS队列

来自分类Dev

rabbitmq,无法将消息发送到特定队列

来自分类Dev

是否可以将Azure队列消息发送到端点

来自分类Dev

使用Spring Boot将消息发送到JMS队列

来自分类Dev

使用Java Swing将消息发送到JMS队列

来自分类Dev

中继-将延迟的消息发送到另一个队列(Azure ServiceBus)

来自分类Dev

发送到我的聊天机器人的第一条消息挂在加载屏幕上

来自分类Dev

Apache Kafka如何将消息发送到多个使用者组?

来自分类Dev

1分钟后,骆驼继续通过JMS将消息发送到队列中

来自分类Dev

在请求/回复方式中使用NATS排队

来自分类Dev

Dockerfile中用于nats-server的CMD命令是什么

来自分类Dev

在一条消息中发布多个主题 MQTT

来自分类Dev

如何使用Scrapy将objets从一个规则发送到另一条规则

来自分类Dev

发布者从出站适配器确认后如何将basicAck发送到入站适配器

来自分类Dev

如何ssh运行一条尾巴,然后将数据发送到mysql数据库

来自分类Dev

通过Unity的同一条消息的多个使用者在MassTransit中不起作用

来自分类Dev

将多个补丁和发布方法发送到同一位置

来自分类Dev

将数据发送到队列并在同一功能中侦听数据

Related 相关文章

  1. 1

    Ruby NATS简单发布

  2. 2

    NATS持久消息Java客户端

  3. 3

    在Siddhi中获取NATS流事件序列号

  4. 4

    NATS流在群集和FT模式下提供什么消息持久性保证?

  5. 5

    如何在 nats 流媒体服务器中限制 raft.log 大小?

  6. 6

    NATS与Molecularr。如何更改NATS的max_payload值?

  7. 7

    为什么 ROS 发布者不发布第一条消息?

  8. 8

    向nats组提出请求

  9. 9

    RabbitMQ-将消息发送到队列中的特定使用者

  10. 10

    KafkaProducer无法成功将消息发送到队列中

  11. 11

    通过一条路由将多个mongo DB查询的结果发送到我的视图

  12. 12

    Java:使用多个线程将消息发送到JMS队列

  13. 13

    rabbitmq,无法将消息发送到特定队列

  14. 14

    是否可以将Azure队列消息发送到端点

  15. 15

    使用Spring Boot将消息发送到JMS队列

  16. 16

    使用Java Swing将消息发送到JMS队列

  17. 17

    中继-将延迟的消息发送到另一个队列(Azure ServiceBus)

  18. 18

    发送到我的聊天机器人的第一条消息挂在加载屏幕上

  19. 19

    Apache Kafka如何将消息发送到多个使用者组?

  20. 20

    1分钟后,骆驼继续通过JMS将消息发送到队列中

  21. 21

    在请求/回复方式中使用NATS排队

  22. 22

    Dockerfile中用于nats-server的CMD命令是什么

  23. 23

    在一条消息中发布多个主题 MQTT

  24. 24

    如何使用Scrapy将objets从一个规则发送到另一条规则

  25. 25

    发布者从出站适配器确认后如何将basicAck发送到入站适配器

  26. 26

    如何ssh运行一条尾巴,然后将数据发送到mysql数据库

  27. 27

    通过Unity的同一条消息的多个使用者在MassTransit中不起作用

  28. 28

    将多个补丁和发布方法发送到同一位置

  29. 29

    将数据发送到队列并在同一功能中侦听数据

热门标签

归档