【发布时间】:2018-12-29 12:08:01
【问题描述】:
我刚刚开始使用 RabbitMQ,因为在我正在开发的一个网站上,我们想要解耦一些资源密集型任务,例如发送电子邮件、生成 PDF 等。
我从 RabbitMQ 网站 (https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) 上非常简单的 C#“Hello world”教程开始。这有助于非常简要地了解 RabbitMQ 是如何连接在一起的,但它给我留下了许多问题,令人惊讶的是,我无法在网上找到答案......
- “Hello world”示例发送一个基本字符串。在我发送电子邮件的示例中,我的发布者是否会发送发送电子邮件所需的所有数据,即收件人、主题等,可能是 JSON 格式?
- 您通常如何构建消费者来执行 DoSomething 的方法?理想情况下,我希望它流利,以便如果消息属于特定类型,消费者执行方法 SendEmail(),或者如果消息属于不同类型,则执行方法 GeneratePDF() 等等......
- 我有一个发布者和一个消费者,但是我希望消费者处理许多不同的任务,例如发送电子邮件或生成 PDFS。我应该有多个消费者,即每种类型的任务一个,还是多个队列(每个任务又一个)?
这些是我目前遇到的一些基本问题,这些问题使我无法了解 RabbitMQ 如何在实际场景中使用。任何帮助将不胜感激。
【问题讨论】: