我们的应用程序由 7 个具有一定互通性的微服务组成。目前,我们使用简单的存储队列,微服务将事件发布到其中(事件数量相对较少)。然后,我们为每个队列提供一个可能调用另一个微服务的 azurefunction。现在这对我们来说工作得很好,服务使用大约 20 个具有相应功能的队列。
现在我们需要处理 blobstorage 事件,我做了一些谷歌搜索,然后开始变得非常困惑。突然有很多疑问:
- 我们是否应该切换到 Azure 事件网格
- 它可以不受任何限制地处理 blobstorage(blobstorage 触发器有一些功能)
- 它允许多个订阅者(存储队列不允许)
- 它有很多问题 - 也许这是新的推荐方式
- 我喜欢一个中心事物的想法,但它让我想起了 biztalk...
- 我应该切换到 Azure 服务总线吗
- 它有一个很好的工具(ServiceBusExplorer)用于监视队列和监听器,我可以重新发布任何失败的事件
- 它很好地可视化了我的 Azure Functions 订阅者
- 我应该只继续使用存储队列吗
- 监控有点困难,但效果很好
我将非常感谢您对此问题的任何建议或见解。
谢谢
最佳答案
当您有通知 float 到多个订阅者时,EventGrid 非常有用。你也是这样吗?
一个例子是延迟消息。使用队列,您可以推迟消息,但使用 EventGrid 则不行。何时选择存储队列或服务总线取决于您的具体要求。您需要重复数据删除吗?还是订的送货?如果您这样做,服务总线就是您的选择。否则存储队列就足够了。
关于azure - 我应该改变微服务的通信方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169564/