Microservices Microservice从Azure服务总线主题检索OrderId

Microservices Microservice从Azure服务总线主题检索OrderId,microservices,asp.net-core-webapi,azure-servicebus-topics,Microservices,Asp.net Core Webapi,Azure Servicebus Topics,我正在努力理解Azure服务总线,我打算这样做 在当前项目中使用。我对这个完全陌生 下面是一个场景。有两种微服务 Microservice A-将订单详细信息写入数据库,并写入 Azure服务总线主题的OrderId Microservice B-应该能够在存在订单ID时提取订单ID 来自同一主题,并使用它处理其他一些事务。用户可以在一天内生成多个OrderId 如何设置Microservice B以执行此任务?这在现实中是如何工作的? 该微服务如何持续监控主题?您可以每隔“X”秒或连续写一个作

我正在努力理解Azure服务总线,我打算这样做 在当前项目中使用。我对这个完全陌生

下面是一个场景。有两种微服务

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

Microservice B-应该能够在存在订单ID时提取订单ID 来自同一主题,并使用它处理其他一些事务。用户可以在一天内生成多个OrderId

如何设置Microservice B以执行此任务?这在现实中是如何工作的?
该微服务如何持续监控主题?

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

在pub-sub中,当消息到达主题时,订阅主题的任何服务都将接收该消息,而不需要对其进行轮询。您的Microservice B应订阅该主题,并将消息推送到该主题


对于您的microservice B订阅邮件,您有两个选项。您可以使用azure功能,该功能将自动为您处理邮件。如果您不想编写azure函数,则必须使用azure服务总线库来完成此操作。官方示例仅适用于console app(),但是对于.Net核心Web API,您可以在此处查看

我认为编写Azure函数将是一个不错的选择。这可以调用restful api并将数据从主题传递到web方法进行处理吗?我不确定你是否可以使用微服务进行订阅。Azure功能可以处理事件,你可以做任何你想做的事情。Net核心微服务也可以通过内存托管过程处理事件,但您必须自己完成。