gpt4 book ai didi

C# RabbitMQ 设计方法

转载 作者:行者123 更新时间:2023-11-30 22:56:55 25 4
gpt4 key购买 nike

我才刚刚开始使用 RabbitMQ,因为在我正在处理的网站上,我们希望分离一些资源密集型任务,例如发送电子邮件、生成 PDF 等。

我已经开始学习 RabbitMQ 网站 (https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 上非常简单的 C#“Hello world”教程。这对于简要了解 RabbitMQ 如何结合在一起非常有用,但它给我留下了很多问题,这些问题真的很令人惊讶,我无法在网上找到答案......

  1. “Hello world”示例发送一个基本字符串。在我发送电子邮件的示例中,我的发布商是否会发送发送电子邮件所需的所有数据,即收件人、主题等,也许是 JSON 格式?
  2. 您通常如何构造一个消费者来执行 DoSomething 的方法?理想情况下,我希望它是流畅的,以便如果消息属于特定类型,则消费者执行方法 SendEmail(),或者如果消息属于不同类型,则它执行方法 GeneratePDF() 等等......
  3. 我有一个发布者和一个消费者,但是我有许多不同的任务需要消费者处理,例如发送电子邮件或生成 PDFS。我应该有多个消费者,即每个类型的任务一个,还是多个队列(每个任务一个)?

这些是我目前遇到的一些基本问题,这些问题阻碍了我了解 RabbitMQ 在实际场景中的使用方式。任何帮助将不胜感激。

最佳答案

对于消息传递,通常您发送小型数据包(如简单的 JSON 对象)的方式与定义基于 http 的 API 的方式相同。函数定义和输入/输出规范可以相同——将消息传递视为一种不同的传输机制。

对于问题2-3,是的,你想设置多个消费者类型的多个队列。每种消费者类型都将订阅一个队列,其消息仅供该消费者使用。在发布者上使用路由逻辑来确定消息最终进入哪个队列。

关于C# RabbitMQ 设计方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53969373/

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