使用 Azure 服务总线向客户端发送消息 - 主题
Send messages to clients using Azure Service Bus - Topics
使用 Azure 服务总线 - 主题,我想实施一个解决方案,其中一旦生产者将消息发送到主题(如队列),消息就会 sent/notified 发送给最终消费者。
我了解主题作为 Pub/Sub 模型工作,其中订阅者需要从订阅中读取消息。但我正在寻找一种类似于 Queue 的解决方法(当收到任何消息时它会触发 Web 作业/服务)。
我几乎没有这样的想法
1. 在订阅中使用自动转发将消息转发到队列,但我再次认为这是否会破坏主题的目的
2. 安排一个工作来处理这些请求,但我想如果我延迟了这个过程
首先,我想知道服务总线主题是否是合适的选择?接下来,如果可能的话,best/better 方法是什么?
PS:我必须发送包含信息的消息 - 我想我不能使用中继
需要说明的是,服务总线中的队列和主题是不同的。如您所述,主题在 publish/subscribe 场景中很有用。
既然您正在寻找被触发的东西,Azure 函数可能就是您所需要的。
Azure Functions supports trigger and output bindings for Service Bus
queues and topics
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus
我认为@William 是对的,您可以use/attach 订阅其他进程来完成您想要做的事情。
他提到了 Azure Functions,这是一个很好的工具,我也想推荐 Azure Logic Apps,以防您想根据收到的消息做出一些决定。
借助 Azure 逻辑应用程序,您可以创建逻辑工作流并使用此工具提供的连接器集成许多服务。
您将在以下位置找到更多信息:
https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-servicebus
然后回答你的问题
First, I want to know if Service Bus Topic is right option to go with?
答案是肯定的,使用消息传递模式是创建可靠解决方案的最佳方式。
在您的情况下,您还希望在收到消息后通知另一个系统。
你唯一需要注意的是,当你没有收到通知时你会做什么?您需要考虑这种情况。
来自上面的讨论。
Azure 函数 Queues/Topics
不考虑队列或主题。您可以同时触发 azure 函数。该函数将处理消息。现在您可以在同一个函数 SendEmail()、sendPhoneNotifcation() 中创建两个方法,并使用 C# 任务并行库对任务进行并行化。所以同一个函数将并行执行这两个任务。
每次收到消息时,都会触发您的功能。处理消息并通知用户。好处是如果您有大量消息通过队列,此功能将自动扩展。
使用 Azure 服务总线 - 主题,我想实施一个解决方案,其中一旦生产者将消息发送到主题(如队列),消息就会 sent/notified 发送给最终消费者。
我了解主题作为 Pub/Sub 模型工作,其中订阅者需要从订阅中读取消息。但我正在寻找一种类似于 Queue 的解决方法(当收到任何消息时它会触发 Web 作业/服务)。
我几乎没有这样的想法 1. 在订阅中使用自动转发将消息转发到队列,但我再次认为这是否会破坏主题的目的 2. 安排一个工作来处理这些请求,但我想如果我延迟了这个过程
首先,我想知道服务总线主题是否是合适的选择?接下来,如果可能的话,best/better 方法是什么?
PS:我必须发送包含信息的消息 - 我想我不能使用中继
需要说明的是,服务总线中的队列和主题是不同的。如您所述,主题在 publish/subscribe 场景中很有用。
既然您正在寻找被触发的东西,Azure 函数可能就是您所需要的。
Azure Functions supports trigger and output bindings for Service Bus queues and topics
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus
我认为@William 是对的,您可以use/attach 订阅其他进程来完成您想要做的事情。
他提到了 Azure Functions,这是一个很好的工具,我也想推荐 Azure Logic Apps,以防您想根据收到的消息做出一些决定。
借助 Azure 逻辑应用程序,您可以创建逻辑工作流并使用此工具提供的连接器集成许多服务。
您将在以下位置找到更多信息:
https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-servicebus
然后回答你的问题
First, I want to know if Service Bus Topic is right option to go with?
答案是肯定的,使用消息传递模式是创建可靠解决方案的最佳方式。
在您的情况下,您还希望在收到消息后通知另一个系统。
你唯一需要注意的是,当你没有收到通知时你会做什么?您需要考虑这种情况。
来自上面的讨论。
Azure 函数 Queues/Topics
不考虑队列或主题。您可以同时触发 azure 函数。该函数将处理消息。现在您可以在同一个函数 SendEmail()、sendPhoneNotifcation() 中创建两个方法,并使用 C# 任务并行库对任务进行并行化。所以同一个函数将并行执行这两个任务。
每次收到消息时,都会触发您的功能。处理消息并通知用户。好处是如果您有大量消息通过队列,此功能将自动扩展。