【问题标题】:Send messages to clients using Azure Service Bus - Topics使用 Azure 服务总线向客户端发送消息 - 主题
【发布时间】:2019-09-18 06:08:00
【问题描述】:

使用 Azure 服务总线 - 主题,我想实现一个解决方案,其中一旦生产者将消息发送到主题(如队列),消息就会发送/通知给最终消费者。

我了解主题作为 Pub/Sub 模型工作,其中订阅者需要从订阅中读取消息。但我正在寻找一种类似于 Queue 的解决方法(当收到任何消息时它会触发 Web 作业/服务)。

我有几个想法 1. 在订阅中使用自动转发将消息转发到队列,但我再次认为这是否会扼杀主题的目的 2. 安排一个工作来处理这些请求,但我想如果我推迟了这个过程

首先,我想知道 Service Bus 主题是否是正确的选择?接下来,如果可能的话,最好/更好的方法是什么?

PS:我必须发送包含信息的消息 - 我想我不能使用中继

【问题讨论】:

  • 你能解释一下你到底想达到什么目标吗? topic/sub 可以做任何你可以用队列做的事情。您还可以使用 pub/sub 触发作业。
  • @ImranArshad,我有两个独立的任务要执行,1. 向用户发送电子邮件通知 2. 在他们的移动应用上向用户发送通知。这里的一件重要的事情是,这应该在一分钟内完成,所以我认为调度程序在这种情况下不合适。基本上,我想为我的主题/订阅/订阅设置一个监听器
  • 是的,可以通过订阅主题/订阅的自定义应用程序来实现,或者更好的是,您可以使用无服务器功能。您正在使用哪些技术或服务?如果它是 azure 和 .net core,我可以更好地解释
  • @ImranArshad,是的,我想使用 Azure 和 .net 核心。如果使用 Azure Functions 那就完美了。

标签: azure azureservicebus azure-servicebus-topics


【解决方案1】:

需要明确的是,Service Bus 中的队列和主题是不同的。如您所述,主题在发布/订阅场景中很有用。

由于您正在寻找可以触发的东西,因此您可能需要 Azure 函数。

Azure Functions 支持服务总线的触发器和输出绑定 队列和主题

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus

【讨论】:

    【解决方案2】:

    我认为@William 是对的,您可以使用/附加其他进程到订阅来完成您想要做的事情。

    他提到了 Azure Functions,这是一个很好的工具,我也想推荐 Azure Logic Apps,以防你想根据收到的消息做出一些决定。

    借助 Azure 逻辑应用,您可以创建逻辑工作流并使用此工具提供的连接器集成许多服务。

    您将在以下位置找到更多信息:

    https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-servicebus

    为了回答你的问题

    首先,我想知道 Service Bus 主题是否是正确的选择?

    答案是肯定的,使用消息传递模式是创建可靠解决方案的最佳方式。

    在您的情况下,您还希望在收到消息后通知另一个系统。

    您唯一需要注意的是,当您没有收到通知时,您会做什么?你需要考虑这种情况。

    【讨论】:

      【解决方案3】:

      根据上面的讨论。

      带有队列/主题的 Azure 函数

      不管队列或主题。您可以同时触发 azure 功能。该函数将处理消息。现在,您可以在同一个函数 SendEmail()、sendPhoneNotifcation() 中创建两个方法,并使用 C# 任务并行库对任务进行并行化。因此,相同的功能将并行执行这两项任务。

      每次收到消息时,都会触发您的函数。处理消息并通知用户。好处是如果您有大量消息通过队列,此功能将自动扩展。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-25
        • 2021-05-23
        • 1970-01-01
        • 2015-01-05
        • 1970-01-01
        • 1970-01-01
        • 2017-01-12
        相关资源
        最近更新 更多