使用 WebSockets 和亚马逊云科技 AppSync 实现实时事件模式

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 亚马逊云科技 AppSync 使开发人员更容易构建使用实时数据更新和事件的应用程序,如实时体育比分和统计数据、群聊消息、价格或位置和时间表更新。使用 AppSync 管理的 WebSocket 通道,您可以轻松扩展以连接数百万用户并提供数十亿条消息。在本论坛中,了解 PGA Tour 如何使用亚马逊云科技 AppSync 向其应用程序用户提供实时事件更新;查看新功能,如增强的过滤选项和与 [Amazon EventBridge](https://aws.amazon.com/cn/eventbridge/?trk=cndc-detail) 的本机集成;并提供一个偷看下一步的机会。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 在2022年re:Invent期间,亚马逊云科技环节的一场名为“利用WebSockets和亚马逊云科技AppSync实现实时事件驱动”的会议拉开帷幕。亚马逊云科技的高级解决方案架构师Ryan Yanchuleff欢迎了与会者,他的演讲嘉宾包括亚马逊云科技AppSync的产品管理高级经理Bill Fine和PGA巡回赛的首席IT架构师David Provan。 Ryan首先介绍了自己的背景,他表示在亚马逊云科技的工作是与下一代开发者体验团队紧密合作。这个团队致力于重塑亚马逊云科技的开发者体验。接着,他简要概述了会议的主要内容:亚马逊云科技AppSync的介绍、实时互动演示、客户如何运用AppSync的实际案例分享、David关于PGA巡回赛如何应用AppSync的演讲以及Bill关于新AppSync功能和常见实施方式的探讨。 在详细介绍中,Ryan阐述了亚马逊云科技AppSync是一款由亚马逊云科技提供的全托管、[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)式GraphQL API服务。由于其[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)特性,与客户的使用量无关的费用是固定的——客户只需为其使用的部分付费。该服务内置了对多种JavaScript和VTL解析器的支持,可以安全地访问并组合来自多个源的数据。这使AppSync能够为客户端提供一个统一的GraphQL模式,并在后台抽象掉分布式数据源的复杂性。 在性能和安全方面,Ryan强调了AppSync如何与CloudWatch和X-Ray等服务集成,以实现强大的可观察性和调试能力。它还利用现代安全措施,并与WAF和CloudTrail集成以实现访问控制和审计功能。 接下来,Ryan分享了AppSync的一些常见应用场景。首先,它非常适合构建从各种来源(如DynamoDB、REST API、Lambda函数和RDS数据库)组合数据的GraphQL API。从客户端的角度来看,AppSync提供了一个统一的GraphQL模式供查询,同时在后台透明地处理分布式数据源的复杂性。其次,AppSync通过WebSockets上的GraphQL订阅支持实时发布/订阅功能。这使得客户可以订阅数据变更并实时接收实时更新。 为了在现场展示这些功能,Ryan展示了一个由两部分组成的交互式演示应用:观众可以通过“表情符号投掷器”客户端发送表情符号,而显示应用程序会实时在屏幕上显示它们。他强调了架构的简单性,唯一的组件就是AppSync。发布者客户端大约有5行代码将更新推送到AppSync,而显示应用程序则有10行代码用于收听订阅。 当观众开始通过手机发送表情符号时,屏幕开始显示出由AppSync无缝处理的实时表情符号更新,展示了使用GraphQL订阅进行实时同步的能力。在成功的演示之后,Ryan回顾了他构建它的过程,并强调了即使在这样的简单用例中,AppSync也能提供企业级的可扩展性、性能和安全性。 接下来,Ryan展示了一些客户正在利用AppSync进行实时数据同步的实际用例,包括体育比分、投注概率、股票报价、库存状态、投票应用程序、聊天应用程序等。然后,他深入探讨了一个体育投注用例,说明了AppSync如何顺利处理这些大量的实时突变和订阅,而无需客户端做任何额外的努力。高级功能如身份验证、字段级授权和WAF集成允许对数据进行精细的控制。 Ryan强调了AppSync如何简化了实时功能的构建,同时抽象了所有与可扩展性、性能和安全性的复杂性。他还发布了GitHub上的表情符号投掷器演示代码供与会者访问。 在铺垫之后,Ryan邀请了PGA Tour的David Provan来介绍他们是如何利用AppSync和其他亚马逊云科技服务来构建实时移动高尔夫计分卡和统计应用程序的。 大卫首先详细阐述了PGA巡回赛与亚马逊云科技之间的合作伙伴关系的背景信息,以及他们如何借助云计算技术彻底重塑其数字平台。其中一个关键需求便是将实时得分和统计数据从高尔夫球场实时传输至他们的移动应用,以降低延迟。在此之前,他们的平台存在2.5分钟的延迟,这在实时应用场景下是无法接受的。通过运用AppSync订阅和WebSocket技术,PGA巡回赛成功地将延迟降低至实时标准,并能在球场上产生分数数据时立即更新至他们的移动应用。大卫还讲述了一个有趣的故事,几位持怀疑态度的产品经理在不同设备上同时测试实时计分功能,惊讶地发现所有平台的更新都实现了完美同步。 除了实时计分功能的改进之外,大卫强调的其他优势还包括在锦标赛期间每天多次更新应用程序的能力,利用CDK和Docker进行基础设施编程,以及更快捷的功能开发。最终目标是为广大高尔夫球迷提供一个实时更新的应用程序体验。总的来说,他认为AppSync在实现数据同步和丰富PGA巡回赛数字平台体验方面具有至关重要的作用。 在大卫的演讲结束后,Bill Fine上台分享了他们对一些最新AppSync功能以及常见实施模式的看法。他强调了AppSync的核心价值主张,即无缝扩展性,既能满足高峰时段每秒数百万个事件的扩展需求,也能在需求降低时缩减至零以节省成本。Bill分享了一个关于AppSync团队如何通过帮助客户应对智能温度计移动应用程序需求激增的案例,从而拯救了感恩节的故事。 随后,Bill宣布了两个重要功能发布——默认配额提高至每秒10,000条(入站)和1百万条(出站),以满足更大工作负载的需求,以及简化规模监控的新指标,包括入站/出站消息和连接客户端。此外,他还介绍了两种新功能——在VPC内部限制访问的私有API,以及从关系数据库(如[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail))自动生成的GraphQL API。 在实施模式方面,比尔解释了他所了解的关于客户如何将AppSync与EventBridge相结合的信息。这种结合使得事件驱动的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)后端能够与前端的应用程序实现无缝集成。借助AppSync,可以轻松地将前端事件传输至EventBridge或反过来,从而解决所谓的“最后一公里”问题。例如,当一名食品配送司机在其移动应用上将订单标记为已交付时,该事件可以发布到EventBridge并交由计费、会计等各个后端服务进行处理。同时,司机的位置更新也可以订阅发布回客户的手机,让他们了解食物的送达情况。 比尔还介绍了另一种模式,即在生成性AI应用程序中使用AppSync来管理异步请求以及与其他大型语言模型(如[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail))的对话。AppSync为前端应用程序与后端AI服务的连接提供了简单的途径。它能够支持异步工作流和对话上下文管理,因此非常适合作为AI机器人和助手的协调层。 在总结他的演讲时,比尔进行了一次投票,以收集关于潜在的未来功能(如不带GraphQL的独立主题/次主题API)的反馈。他强调,团队非常愿意倾听客户对于他们在AppSync中期望看到的功能的意见。 总的来说,演讲者成功地展示了亚马逊云科技如何利用AppSync通过提供一个具有内置对WebSockets和订阅的支持的管理式GraphQL API层,来实现实时、可扩展的应用程序。他们通过展示如何使用AppSync的功能进行数据同步、事件驱动架构和AI对话的实际示例和模式,证明了为什么AppSync成为了推动有趣、响应式用户体验的关键服务。 **下面是一些演讲现场的精彩瞬间:** 亚马逊云科技的领导者和同事们——Bill Fine和David Provan——共同登台,探讨了亚马逊云科技AppSync在PGA巡回赛中的应用。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_0.png) PGA巡回赛被誉为在全国范围内举办各种赛事的“马戏团”,需要大量收集和传输数据。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_1.png) 令人惊讶的是,产品团队发现,在网站测试阶段,实时得分更新能够完美运行,这证明了新系统的能力。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_2.png) 亚马逊云科技通过保持数据同步,为用户提供了跨设备的统一体验,使得开发者在不降低质量的前提下能够大规模进行构建。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_3.png) 亚马逊云科技通过基础设施即代码和[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)技术,实现了代码更新和错误修复的无停机快速部署。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_4.png) 这种架构使得模型能够与API互动并自行规划执行路线,为用户提供临时的创意互动。 ![](https://d1trpeugzwbig5.cloudfront.net/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync/images/rebranded/FWM204-Implement_real_time_event_patterns_with_WebSockets_and_AWS_AppSync_5.png) ## 总结 亚马逊云科技的AppSync通过提供托管的GraphQL API来支持实时应用的构建。例如,PGA巡回赛使用AppSync重写了他们的移动应用程序以实现实时比分更新。AppSync可以集成各种数据源,如DynamoDB和Lambda,同时为客户端抽象复杂度。使用案例包括体育赛事成绩、库存跟踪和聊天应用。AppSync处理开箱即用的缩放和安全问题。新功能如更高的默认限制、RDS支持和私有API扩展了可能性。AppSync与使用EventBridge的事件驱动架构配合得很好。前端事件可以发布到后端, 而AppSync将后端事件广播到客户端。AppSync还可以用于[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)的AI应用。异步解析器处理长时间的处理时间。可以追踪对话历史以在请求之间提供连续性。AppSync通过连接前端和后端的数据和事件来支持各种实时应用的构建。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭