从 Azure 服务总线主题中检索 OrderId 的微服务

Microservice retrieving OrderId from an Azure service bus topic

我正在尝试了解我想要的 Azure 服务总线 在当前项目中使用。我对此完全陌生。

这是场景。有两个微服务。

微服务 A - 将订单详细信息写入数据库并写入 Azure 服务总线主题的 OrderId

微服务 B - 应该能够在存在时获取 OrderId 来自同一主题并使用它来处理其他一些事务。用户一天可以生成多个OrderId。

如何设置微服务 B 来执行此任务?这在现实中如何运作? 这个微服务如何持续监控话题?

您可以编写一个作业来每隔 "X" 秒或连续检查新消息,但这不是一个好方法。更好的方法是 Pub-sub 方法。

在 pub-sub 中,当消息到达主题时,任何订阅主题的服务都会收到消息,不需要轮询。您的微服务 B 应该订阅该主题,消息将被推送到它。

要让您的微服务 B 订阅消息,您有两种选择。您可以使用 azure 函数自动为您处理消息。如果不想编写 azure 函数,则必须使用 Azure 服务总线库来完成此操作。官方示例仅适用于控制台应用程序(Pub-Sub Azure Service Bus) however for .Net Core Web API you can look here Subscribe Azure Service Bus