【问题标题】:rabbitmq what is difference between SubscribeAsync and PublishAsync in C#rabbitmq C#中的 SubscribeAsync 和 PublishAsync 有什么区别
【发布时间】:2022-01-05 12:35:24
【问题描述】:

我在我的微服务项目中使用rabbitmq,我看到了这两种方法 这些是什么,我们什么时候使用它们

【问题讨论】:

  • 1.我们可能会猜到.. 但最好提供语言标签以及其他标签; 2. 文档应该比较清楚,关于这两个做什么。你读过文档吗?
  • 那是我第一次看到有人在 Comic Sans 中编码。用可变宽度字体编码不是很难吗?
  • RabbitMq 分别对生产者/消费者使用术语发布和消费。 IBusClient.SubscribeAsync 大概是一个名为 RawRabbit 的包中消费者的自定义抽象。
  • 订阅通常会增加过滤或预测消息的额外关注。在rabbit中,您可以通过队列绑定来做到这一点,例如在路由键上

标签: c# rabbitmq microservices


【解决方案1】:

生产者是发送消息的用户应用程序,而消费者是接收消息的用户应用程序。队列是存储这些消息的缓冲区。 https://dev.to/mashaa/introduction-to-rabbitmq-49n8

在许多发布/订阅系统中,发布者将消息发布到中间消息代理或事件总线,订阅者向该代理注册订阅,让代理执行过滤。代理通常执行存储和转发功能以将消息从发布者路由到订阅者。此外,代理可以在路由之前对队列中的消息进行优先级排序。 https://en.m.wikipedia.org/wiki/Publish-subscribe_pattern

RabbitMQ 中消息传递模型的核心思想是生产者永远不会将任何消息直接发送到队列。实际上,生产者通常根本不知道消息是否会被传递到任何队列。 https://www.rabbitmq.com/tutorials/tutorial-three-python.html

【讨论】:

    【解决方案2】:

    我怀疑你在 RMQ 之上使用了一些东西,比如 EasyNetQ,因为这些不是专门的兔子术语,而是本质上:

    Publish 将消息发布到队列

    Subscribe 订阅一个队列并定义将作用于接收到的消息的代码

    【讨论】:

      猜你喜欢
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 2011-04-05
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多