微软Azure再升级,为无服务器事件而生的Event Grid

简介:

微软Event Grid无疑是对无服务器选项的一大重要补充,可提供一套可构建大规模分布式应用程序的后台,且将管理与编排工作量控制在最低水平。另外,也为微软的无服务器工具提供了一套事件路由结构,从而简化其它Azure服务以及外部来源的相关事件订阅机制。

微软Azure再升级,为无服务器事件而生的Event Grid

无服务器计算作为现代云应用架构的基础,具有摆脱底层基础设施——甚至是网络因素——以减少应用编排工具管理负担等优势。但微软Auzre Functions这类无服务器模式本身就存在局限性,即要求以响应事件的方式启动。如果未收到信号,则不会启动。

Azure事件使用方法

那么我们该如何捕捉事件?传统事件队列隶属于分布式体系架构,但其问题在于往往难以确保事件的正确传送。在理想情况下,信息应符合幂等要求,即进行且仅进行一次传送以保证交付。但这在实际场景中难以实现,因此大家必须采用相应的系统来完成这项任务。如此一来,我们即可利用后端代码清理日志并存储数据,并利用事件与消息ID来标记重复内容。

利用Event Grid,微软方面建立起一套发布与订阅系统,并与其它Azure服务通知机制集成起来。现在各事件成为一级对象,而Event Grid配置可实现事件过滤并将其定向至正确的服务。凭借着可扩展性,也能够对接简单架构以及包含数千个来源的复杂环境。

简单来讲,Event Grid是一款负责将Azure内各来源的事件通知路由至Azure Functions的工具。其能够将Azure环境转化为通知体系,而且与传统服务总线不同,Event Grid中不存在传统工作流模式:当某一事件发生时,会启动对应的函数,并触发与之相关的应用。

在应用程序中使用Event Grid

Event Grid最初只支持部分Azure服务,包括来自各基础设施服务(例如Event Hubs)以及Azure订阅的通知。而最为有趣的是,大家可以将Event Grid与Azure Functions捆绑起来以共同配合其它服务。例如,微软允许大家在blob存储容器当中使用事件以触发对应Azure函数,用以在每一次图片上传时运行机器学习支持型图像识别。

通过上述实例,可以看到其最重要的能力是将原本松散耦合的各项操作聚合在一起。无需整体应用,您只需要上传服务以及图像分析功能即可。这种关联由您的Azure存储帐户提供,意味着当图像被上传至指定的blob容器时,相关事件会被传送至Event Grid。此后,Event Grid利用过滤机制获取特定消息,并将其作为输入内容传递给某一函数——即刚刚上传完成的图片文件的链接。

这种能力相信能够得到大家的广泛青睐,特别是对于希望将Azure作为自主平台即服务应用构建工具的用户。利用Event Grid配合Azure Functions,您不再需要管理大量事件处理程序以支持无服务器代码。相反,各函数会在事件符合条件时自行触发,并在处理完成后被丢弃。

另外,现有Azure服务(例如Logic Apps)使用大量计算资源进行事件轮询。但Event Grid能够有效克服这一问题。随着服务被迁移至Event Grid当中,相关执行效率将得到显著提升,进而降低计算需求以及应用支持成本。

将Event Grid纳入新的无服务器容器化Azure

凭借着Logic Apps与Flow,微软的无服务器模式不再局限于Auzre之内。这意味着大家可以利用Event Grid触发Flow操作,将来自电子商务应用的馈送信息转发至Dynamics 365,从而根据实时情况更新客户记录或快速为特定客户提供产品报价。另外,大家也可以在Azure的物联网平台内使用Event Hubs以实现物联网设备事件推送——这不仅能够快速根据需求实现数据推送,同时也可节约传输带宽并避免因物联网中枢架构过于复杂而导致的高成本问题。

作为微软无服务器模式的核心方案,大家可以利用Azure Functions构建起理想的应用体系——通过Event Grid从Azure服务处获取数据源,触发函数而后利用Azure容器实例API启动负责运行复杂服务的容器,从而将数据处理与底层事件触发机制关联起来。这意味着用户将不再需要由Kubernets实现的容器资源编排机制。利用这类架构,您不再需要建立昂贵的永久性虚拟基础设施,而仅在服务运行时支付开销。

而着眼于未来,也许无基础设施应用将进一步取代无服务器应用,成为这场升级之旅的最终目标。 


本文作者:核子可乐译

来源:51CTO

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
9月前
|
存储 弹性计算 固态存储
如何给轻量服务器升级套餐配置?附上云服务器配置攻略
本文介绍了阿里云轻量应用服务器升级配置的流程及注意事项,并提供云服务器选型攻略。内容涵盖升级前的数据备份、操作步骤、系统盘扩容及机房限制等,同时结合业务类型、访问量、带宽、存储等因素,指导用户合理选择ECS实例规格与配置,助您高效稳定部署应用。
|
开发框架 人工智能 Java
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
895 42
|
移动开发 JavaScript 前端开发
精通服务器推送事件(SSE)与 Python 和 Go 实现实时数据流 🚀
服务器推送事件(SSE)是HTML5规范的一部分,允许服务器通过HTTP向客户端实时推送更新。相比WebSocket,SSE更轻量、简单,适合单向通信场景,如实时股票更新或聊天消息。它基于HTTP协议,使用`EventSource` API实现客户端监听,支持自动重连和事件追踪。虽然存在单向通信与连接数限制,但其高效性使其成为许多轻量级实时应用的理想选择。文中提供了Python和Go语言的服务器实现示例,以及HTML/JavaScript的客户端代码,帮助开发者快速集成SSE功能,提升用户体验。
|
9月前
|
负载均衡
轻量应用服务器升级套餐配置总结
在升级轻量应用服务器前,请先创建云盘快照备份数据。登录控制台,选择目标服务器,进入升级页面,阅读注意事项并选择新套餐配置,确认服务协议后完成支付。升级后需等待服务器重启,若系统盘容量变化,还需手动扩容分区。注意中国香港机房有特殊限制,续费时负载均衡会一并续费,操作时请以控制台提示为准。
|
开发框架 人工智能 Cloud Native
破茧成蝶:阿里云应用服务器让传统J2EE应用无缝升级AI原生时代
一场跨越20年的技术对话:在杭州某科技园的会议室里,一场特殊的代码评审正在进行。屏幕上同时展示着2005年基于WebLogic开发的供应链系统和2025年接入DeepSeek大模型的智能调度方案——令人惊叹的是,二者的核心业务代码竟保持着惊人的一致性。"我们保住了20年积累的238个核心业务对象,就像修复传世名画时保留了每一笔历史痕迹。"企业CTO的感慨,揭开了阿里云应用服务器助力传统系统智能化转型的奥秘。
451 13
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
365 22
|
弹性计算 双11 开发者
阿里云ECS“99套餐”再升级!双11一站式满足全年算力需求
11月1日,阿里云弹性计算ECS双11活动全面开启,在延续火爆的云服务器“99套餐”外,CPU、GPU及容器等算力产品均迎来了全年最低价。同时,阿里云全新推出简捷版控制台ECS Lite及专属宝塔面板,大幅降低企业和开发者使用ECS云服务器门槛。
157858 23
|
弹性计算 大数据 双11
阿里云ECS“99套餐”再升级!双11一站式满足全年算力需求
弹性计算双11爆款清单来袭,感恩回馈好礼,优惠惊喜不断!