【发布时间】:2017-05-08 05:46:31
【问题描述】:
我是微服务新手,对 RabbitMQ / EasyNetQ 有疑问。 我正在从一个微服务向另一个微服务发送消息。
每个微服务都是 Web API。我正在使用 CQRS,我的命令处理程序将使用队列中的消息并执行一些业务逻辑。为了调用处理程序,它需要向 API 方法发出请求。
我想知道,无需显式调用 API 端点来访问代码以使用消息。是否有一种无需调用 API 端点的自动化方式?
建议可以创建一个单独的解决方案,它是一个控制台应用程序,它将执行 RabbitMQ 以开始侦听。创建一个while循环来读取消息,然后每次有新消息发送到队列时调用web api端点来处理业务逻辑。
我的目标是创建一个侦听器或启动任务,一旦消息在队列中,它将自动从队列中提取它并继续命令处理程序,但不确定如何按照我描述的“自动”方式执行.我正在考虑使用将持续运行的 Azure Webjob,它将充当消费者。
寻找一种良好的架构方式。
使用的编程语言是 C#
非常感谢
【问题讨论】:
-
您使用什么语言和框架?您的问题对挑战的技术细节非常低。如果您可以在代码中添加更多详细信息并更详细地突出问题,也许我可以提供帮助。
-
我正在使用 C# .Net 框架。寻找在连续任务运行器上解耦消费者的最佳方法。
标签: asp.net-web-api architecture rabbitmq microservices easynetq