使用 Serverless 进行事件驱动架构和领域驱动设计

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 亚马逊云科技的客户CES(City Electric Supply)发现需要一个高效的工具来管理分支库存。现有架构不足以提供快速解决方案。通过认识到 Serverless 计算与事件驱动架构(EDA)和领域驱动设计(DDD)相结合的潜力,CES 开始了实施库存解决方案的旅程。利用 Serverless 技术,CES 能够利用 EDA 和 DDD 原则的力量,在开发过程中实现快速和敏捷。通过利用 CEF 的最佳实践知识,CES 在优化尖端解决方案方面取得了重大进展。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1100字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 在本次题为《运用[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)构建事件驱动架构与领域驱动设计》的演讲中,主讲人Balachander、Jonathan Luke和李·吉尔莫尔分享了关于利用亚马逊云科技服务构建现代化事件驱动系统的设计理念的见解。作为亚马逊云科技的解决方案架构师和DevOps/系统工程师,Balachander以强调亚马逊云科技所实现的创新和变革为开场,并将这一进程与展示激动人心新技术(如生成性人工智能)的主题演讲进行对比,强调了创新的脚步仍在持续。 接下来,Balachander介绍了他们将要探讨的事件驱动架构和领域驱动设计的优势,以及CES在过去一年里在亚马逊云科技上采用这些方法的历程。演讲内容涵盖了EDA和DDD的优势概述,Jonathan将回顾CES的项目经验,而Lee将展示CES的架构策略。 在技术讨论环节,Balachander阐述了事件驱动架构如何促进组件之间松散耦合的方式。通过一个协调沟通的事件代理,服务可以独立地进行扩展和创新。亚马逊云科技提供了通过[Amazon SNS](https://aws.amazon.com/cn/sns/?trk=cndc-detail)、SQS和EventBridge等服务所需的全托管版本的事件生产者、消费者和代理。他还分享了实例,展示了亚马逊云科技事件驱动服务如何提高开发者的工作效率。例如,Taco Bell利用这些服务快速与第三方送货合作伙伴集成。这个系统在短短两周内建成,每小时可处理数百万订单,从而提高了灵活性。乐高公司成功利用事件驱动的平台重建了其电子商务平台,展示了更高的可扩展性和故障容忍性。通过采用亚马逊云科技的事件驱动架构,乐高公司在黑色星期五期间能够满足极端的流量需求。 最后,Balachander解释了领域驱动设计如何关注核心业务领域和有界上下文。技术和业务专家之间的合作定义了模型,并反复优化它们。这种方法构建了真正解决与客户真实需求相关的领域问题的系统。 Balachander随后通过阐述事件驱动的做法如何与关注业务领域的领域驱动设计相结合,从而将这两个概念联系起来,进而激发创新。他将这种结合带来的好处概括为更高的开发人员灵活性、增强的可扩展性和容错能力以及降低的总拥有成本。 接着,乔纳森·卢卡斯登台介绍了CES的背景,并详细讲述了他们使用亚马逊云科技的实践。他指出,CES是一家拥有40年历史且业务广泛的电气批发商,年收入超过30亿美元。他们拥有60多名员工支持各种传统的现场系统和技术平台。 在碎片化环境中,CES面临着诸如缺乏统一架构、工作重复、技术债务、招聘/入职问题以及跟进新技术等挑战。这些因素促使他们寻求利用云和现代架构的解决方案。 乔纳森描述了CES的年度盘点过程如何凸显出改进的需求。他们使用功能有限的过时摩托罗拉扫描器,手动流程繁琐且效率低下。此外,供应链问题也非常严重,显然是到了需要现代化的时刻。 CES确定了新库存检查应用程序的关键参数,包括云原生、利用亚马逊云科技托管服务、可重用的基础结构和尽可能购买而非构建。亚马逊云科技ProServe在导航服务和构建技能方面提供了宝贵的帮助。沉浸式学习、培训和技能提升使CES的员工能够从传统的现场环境过渡到云端。 令人印象深刻的是,CES从概念到全面生产应用程序仅用了9周的时间。初始发布支持16个地点的78个用户,并取得了显著的效果。分支机构的员工反馈非常积极,他们认为主要效率提升和与后台系统的集成是大胜利。运行该系统的总成本惊人地低,仅为4.63美元。 尽管乔纳森注意到解决技术债务和继续改进应用程序的机会,但该项目已经实现了快速交付价值的核心目标,即利用云、[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)和现代架构。CES的开发团队获得了关键经验,为他们未来的更大规模现代化努力做好准备。 在下一阶段,李吉尔莫全球首席架构师兼技术官,CES登台概述了支持库存检查应用程序成功的全球技术战略。 他详细解释了通过遵循五大关键支柱——亚马逊云科技优先的服务、领域驱动设计、团队拓扑结构、事件驱动的架构和进化式架构——如何使他们在短短九周内建立起并推出了新系统。这种方法有助于提高团队在亚马逊云科技、TypeScript和CDK等新技术方面的技能。 李描述了领域驱动设计如何关注区分CES的核心领域——订单履行、产品、客户和定价。重点是站在客户的角度解决问题。有界上下文使得可以构建与子领域一致的特定上下文的微服务。 CES的团队拓扑结构与Team Topologies方法中规定的流线对齐、启用、平台和复杂子系统类型相一致。这减少了认知负荷,并实现了更快速的流程。领域团队拥有完整的交付切片,避免了交接。像架构这样的使能团队可以在一段时间内与流线对齐的团队紧密合作以帮助他们提升技能,然后离开。 李解释了他们的事件驱动架构方法如何使用[Amazon EventBridge](https://aws.amazon.com/cn/eventbridge/?trk=cndc-detail)来解除服务之间的耦合。像DLQ这样的错误处理方法提供了容错性,因此如果生产者暂时不可用,下游消费者不会受到影响。六边形架构使得在不改写核心业务逻辑的情况下更换存储和消息提供者成为可能,这是他们进化式方法的关键。 最后,李强调了建立基础元素的重要性,如全球技术雷达、定义非谈判性的技术组件,这对于实现基于标准的现代化是至关重要的。股票盘点项目展示了应用他们的战略和架构模式可以快速实现有形的结果。 回到舞台,Balachander和Jonathan回顾了学到的教训。他们承认由于时间表问题积累了一些技术债务,而且更正式化的过程会有所帮助。但总的来说,这个项目是一个成功,成为了继续现代化的催化剂。 整个团队共同努力,利用云计算、[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)和领域驱动设计等关键架构方法来提供有价值的服务。他们赞扬了跨团队的协作以及亚马逊云科技资源提供的支持。 总的来说,本次会议深入探讨了CES如何通过运用亚马逊云科技服务实现成功的见解,并介绍了诸如领域驱动设计和事件驱动架构等架构模式。这些策略使他们能够快速推出新的库存检查应用程序。通过实际操作,他们亲身体验到了这些方法所带来的优势,并在未来继续使用亚马逊云科技进行云原生现代化的过程中为其提供了宝贵的指导。 **下面是一些演讲现场的精彩瞬间:** 亚马逊云科技致力于帮助企业在跨业务领域的事件中寻求变革,从而实现创新并为客户提供更高的价值。 ![](https://d1trpeugzwbig5.cloudfront.net/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design/images/rebranded/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design_0.png) 在新冠疫情期间,快餐品牌塔可钟(Taco Bell)成功运用API层和事件驱动的架构,迅速将线上外送订单与店内POS系统进行整合。 ![](https://d1trpeugzwbig5.cloudfront.net/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design/images/rebranded/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design_1.png) 亚马逊云科技团队设计并实施了一个基于云的定制化解决方案,采用现代化架构,并充分利用了亚马逊云科技的专业知识和支持。 ![](https://d1trpeugzwbig5.cloudfront.net/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design/images/rebranded/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design_2.png) 在亚马逊云科技的专业指导下,CEF踏上了[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)和云计算的征程。 ![](https://d1trpeugzwbig5.cloudfront.net/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design/images/rebranded/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design_3.png) 亚马逊云科技的EventBridge通过中心事件总线和本地事件总线,实现了团队之间异步双向的沟通。 ![](https://d1trpeugzwbig5.cloudfront.net/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design/images/rebranded/NTA203-Using_serverless_for_event_driven_architecture___domain_driven_design_4.png) ## 总结 这段演讲探讨了City Electric Supply这家全面的电气批发商如何运用亚马逊云科技的服务,并采用事件驱动的架构和领域驱动设计来快速开发及部署库存管理应用程序。为了实现其传统单体系统和技术债务现代化的目标,CES计划构建一个适用于年度库存盘点的新兴云原生应用程序。尽管团队在亚马逊云科技或现代架构方面缺乏经验,但他们依然设定了一个雄心勃勃的目标:在九周内以最小的成本通过可重复使用的组件交付生产就绪的软件。 为实现这一目标,CES采用了服务优先的方法在亚马逊云科技上进行操作,以确保可扩展性和可用性。他们通过关注核心业务领域和事件来利用领域驱动设计,从而促进了业务与技术团队间的合作。有界上下文将相关功能封装成由各流对齐的团队拥有的微服务。此外,CES还运用了团队协作模式,优化团队结构以实现快速流程和最小的依赖关系。架构和平台团队支持流对齐的产品团队。 由于事件驱动的架构使服务间具有松散的耦合性,因此可以独立进行扩展。[Amazon EventBridge](https://aws.amazon.com/cn/eventbridge/?trk=cndc-detail)负责在服务间路由域事件。适配器将框架从业务逻辑中抽象出来,从而支持随需求改变而进化架构。 在短短九周里,CES成功地交付了一个利用亚马逊云科技的Lambda、DynamoDB等[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用程序。虽然存在一些技术债务和最初的临时过程,但该项目仍然取得了成功。CES采用了现代实践,按时按预算提供了有效的解决方案。团队为将新技术应用于快速实现商业价值感到自豪。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问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
目录
关闭