azure - EventGrid 与 EventHub

标签 azure event-handling azure-service-fabric azure-eventhub azure-eventgrid

我正在开发一个服务结构应用程序,想要从此应用程序发布一些事件,并在另一个应用程序中订阅或处理这些发布事件。

我尝试了 EventGrid 概念,发现发布和处理事件时存在延迟。所以,现在我正在寻找其他替代方案,例如 EventHub 或队列等。

如果有人已经使用过 EventGrid、EventHud 或 Queues 等,请建议当我们处理更多事件时,哪一个会提供更好的性能。

设计方法

我们已将表从 SQL 服务迁移到 Service Fabric。 SQL Service 中有一个 View ,我们计划将其实现为 Service Fabric 中的服务。

实现逻辑如下。

  1. 表 1 实现了服务,我们将每个 CRUD 操作的事件发布到 EventGrid/EventHud。
  2. 表 2 实现了服务,我们将每个 CRUD 操作的事件发布到 EventGrid/EventHud。
  3. 我们创建了一个 View 服务,它会监听事件,当任何事件发送到 EventGrid/EventHud 时,它将执行所需的计算并存储在 ViewService 中(这是一项后台作业)

我们正在寻找一种能够提供更高性能的消息传递服务。

最佳答案

你见过this comparison吗?和 this one

无论如何,您能澄清一下您在吞吐量和性能方面的要求吗?这取决于很多因素,包括但不限于消息大小和消息数量。

在使用事件网格和事件中心后,我认为事件中心对于每秒处理许多消息(例如来自物联网设备的数据流)非常有效,但下游处理的性能可能是一个瓶颈。您必须非常快速地处理它们才能接收新事件。然后是分区和消费者组,它们可以帮助平衡负载,并且对于相同的数据有不同的处理器,但具有不同的数据流 View 。 (一种快速处理器用于实时显示传感器数据,另一种较慢处理器用于存储数据以供以后分析)

如果您正在谈论由应用程序生成的一些事件,这些事件会触发其他应用程序开始根据这些事件执行某些工作,那么事件网格是一个不错的选择。我在接收这些事件方面没有遇到太大的延迟。

但最重要的是,我认为所有服务(事件网格、事件中心、服务总线等)都支持不同的用例,这应该是您的第一个决策点。

关于azure - EventGrid 与 EventHub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56981874/

相关文章:

c# - 应如何将 IIS 托管的基于 ASP.Net 的系统部署到 Azure Service Fabric?

angularjs - 使用 OWIN 的静态文件服务器 -> 找不到文件错误

json - 如何从API管理策略中的响应体获取值(value)?

iphone - 为什么这个 iPhone 应用程序的 "quote"按钮没有替换 TextView 的 lorem ipsum?

android - 3 秒后使按钮不可见,但如果用户向上滚动则不要使其不可见

event-handling - Dart ,鼠标右键事件未触发

Azure 市场应用程序 : Is it secure to putting password to ARM file?

node.js - 我无法在本地运行 Azure Functions 核心工具

azure - 生命周期检查的日期是哪一天?

asp.net - Azure Service Fabric 与 Docker 做同样的事情吗?