Azure服务总线:使用功能与服务结构与Web作业?

时间:2018-01-31 06:39:36

标签: azure azure-functions azure-service-fabric azureservicebus azure-servicebus-topics

我正在考虑3种方法来构建服务总线主题监听器:

  1. Azure功能:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus

  2. 服务结构:https://iamrufio.com/2017/04/21/azure-service-bus-listener-with-azure-service-fabric/

  3. 网络工作:https://code.msdn.microsoft.com/Processing-Service-Bus-84db27b4

  4. 我不确定要走哪条路。我倾向于蔚蓝功能,因为它具有直接开箱即用的服务总线集成。然而,由于它相当新,我不确定它是否是一个安全的选择。

    我所阅读的服务架构提供了最大的弹性和支持。

    网络工作最安全,因为一切都很容易配置,但我担心我会重新发明轮子,因为没有提供开箱即用的支持。

    如果你能把我推向正确的方向,这对我有很大的帮助。谢谢!

1 个答案:

答案 0 :(得分:6)

这是一个非常开放的问题。您应该查看您的要求和其他约束,例如预算。例如,运行生产级Service Fabric群集至少需要5个节点。与运行webjob相比,需要一个扩展计划(对于HA)。与使用消费计划的Azure功能一起运行,只有在每月执行100万次请求和每月400,000 GB的资源消耗后,您才需要按执行付费。

我建议使用Azure Functions开始简单。创建您的原型,看看这是否是您需要的。你是否遇到问题?使用Azure Service Bus的功能使用可能有些限制。例如,您不能将消息写入消息,因为您必须成功返回以完成消息或抛出异常才能重试。您不能推迟消息,而是需要发送另一条消息。您也不能使用Azure Service Bus的send-via功能来使用事务选项。

如果您发现自己需要这些功能,WebJob将成为我的下一个候选人。你将不得不看看你如何利用它。您很可能需要创建自己的接收泵并处理免费提供的功能,但您将拥有创建多个连接所需的灵活性,以您需要的方式配置客户端等。

只有在那之后,如果你看到除了Service Bus之外你有数据分区,HA或DR等要求,或者部署和扩展多个服务,我会更加认真对待Service Fabric。

这三种技术中的每一种都有它的位置和用例。