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

90a*_*yss 5 azure azureservicebus azure-service-fabric azure-servicebus-topics azure-functions

我正在考虑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

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

根据我的阅读,服务架构提供了最大的弹性和支持.

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

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

Sea*_*man 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.

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

  • Azure Service Bus和Azure存储队列都可以在本地使用。您只需要知道您的消息将传出和传入,而不是停留在本地。 (2认同)