【问题标题】:Microservice retrieving OrderId from an Azure service bus topic微服务从 Azure 服务总线主题检索 OrderId
【发布时间】:2020-02-09 22:02:00
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: microservices asp.net-core-webapi azure-servicebus-topics


    【解决方案1】:

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

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

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

    【讨论】:

    • 我认为编写 Azure 函数会是一个不错的选择。这可以调用restful api并将数据从主题传递到Web方法进行处理吗?我不确定您是否可以使用微服务进行订阅。
    • Azure Functions 可以处理事件,您可以做任何您喜欢做的事情。 .Net core Microservices 也可以使用内存托管进程来处理事件,但您必须自己完成。
    猜你喜欢
    • 2015-08-17
    • 1970-01-01
    • 2019-07-25
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多