Microsoft 宣布发布 GA 版 Azure Event Grid

  • Steef-Jan Wiggers
  • 王纯超

2018 年 2 月 6 日

话题:Azure语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

微软去年 8 月份推出了Event Grid,现在该服务已经稳定,成为 GA 版。Azure Event Grid是一种服务,它使开发人员能够在 Azure 中统一管理事件。

Tom KerkhoveCodit的 Azure 顾问,同时也是一名微软 Azure MVP,他告诉 InfoQ:

Azure Event Grid 极大地改变了 Serverless,因为它使得 Serverless 不再那么难以理解。现在可以很简单地在云解决方案中提供扩展点,订阅事件或允许第三方与平台集成。

使用 Azure Event Grid,开发人员可以构建处理事件的响应式应用程序。这些事件可以是存储 blob 事件、Azure 订阅的设置(provisioning)通知、IoT 设备信号甚至自定义事件。这项服务的好处是,开发人员不再需要持续轮询应用程序或服务获取更改,现在可以收到事件后再继续处理。Microsoft 计算主管 Corey Sanders 在宣布 GA 版 Azure Event Grid 的博文中表示:

我们使得响应 Azure 原生事件,并在任何环境下,本地和云端,构建现代应用程序变得简单,而不受限于仅使用公有云服务。这是 Azure Event Grid 特有的。

此外,Azure Event Grid 是一个 Serverless 的服务。因此,它可以动态扩展以处理每秒数百万个事件,提供即付即用模式,并具有保证 99.99%可用性的 SLA。不仅如此,它还提供 24 小时指数退后的事件发送重试策略,提供.NET、Node.js 和 Python 的 SDK,很快将支持 Java、Go 和 Ruby。

Event Grid 的概念围绕着事件。事件从事件源(发布者)发射,事件源可以是 Azure 服务或遵守事件模式的第三方事件源。Azure 中的事件发布者包括物联网中心、存储和最近添加的事件中心。随后,事件被发送到 Event Grid 中的主题,每个主题可以有一个或多个订阅者(事件处理程序)。主题可以使用事件发布者进行配置,也可以是自定义事件的自定义主题。最后,事件处理程序对这些事件作出反应并处理它们。Azure 中的事件处理程序包括函数、WebHook 和事件中心。

图像来源:https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-azure-event-grid/

Microsoft 计划增加发布者和处理程序的数量。担任 Event Grid 产品负责人的首席项目经理负责人Dan Rosanova对 InfoQ 表示:

Azure Event Grid 使 Serverless 梦想成真。现在我们可以真正改变将云组件组装成应用程序中的方式。展望未来,我们将继续提供更多的 Azure 服务,不局限于 Azure 以及 Microsoft,支持跨服务、跨云和跨组织的事件驱动场景。

随着 Azure Event Grid,将出现新的架构。Microsoft 的 Windows Azure 服务总线 PM 团队的技术负责人Clemens Vasters告诉 InfoQ:

Event Grid 引起了每个人的关注,因为它为云平台和应用程序提供了新的架构可能性:它是服务之间信息流动的粘合剂,Event Grid 允许通过扩展来扩充现有服务的功能。通过将少数 Azure 函数连接到 Azure 存储 blob 账户抛出的事件,你可以将该存储账户转换为可执行格式转换、缩略图、自动标记等的照片库。通过添加功能,你创建了一个智能文件系统。对于商业应用程序,它是一样的。你甚至可以添加只运行几个星期的策略扩展到现有解决方案。比如,在向所有销售负责人发出即将到来的贸易展会邀请之后,你要确保这之后每一个新增的销售负责人都会得到这样的邀请:做一个简单的策略扩展,并与“新的销售负责人”事件挂钩,在展会前发送邀请,然后删除扩展程序,不会影响核心应用程序的完整性。这很强大。

Azure Event Grid 在美国、欧洲和亚洲地区可用,将来还会更多。有关定价详细信息,请参阅Event Grid 定价Microsoft 文档站点上有 Azure Event Grid 服务的完整文档。

查看英文原文:Microsoft Announces General Availability of Azure Event Grid

Azure语言 & 开发架构