让我们来架构师吧!设计事件驱动架构

在分布式系统的设计过程中,我们必须确定一种通信策略,在不同服务之间交换信息,同时牢记架构的演变性质。事件驱动架构基于事件(系统中发生的事实),这些事件异步交换以实现不同服务之间的通信,同时具有高度的解耦性。这种模式还允许我们运行代码来响应事件,从而为整个基础架构带来成本优化和可持续性等好处。

在这个版本的 L et's Architect 中! ,我们共享架构资源以介绍事件驱动的架构、如何在 亚马逊云科技 上构建这些架构以及如何进入设计阶段。

亚马逊云科技 re: Invent 2022 — 沃格斯博士的主题演讲

Re: Invent 2022 可能已经结束,但亚马逊首席技术官沃纳·沃格斯博士的主题演讲不会被遗忘。Vogels不仅报道了新服务的发布,还报道了事件驱动的架构基础,以及客户关于该架构如何帮助改善其系统的故事。

带我去看这个 re: Invent 2022 视频!

Dr. Werner Vogels presenting an example of architecture where Amazon EventBridge is used as event bus

Werner Vogels 博士举了一个使用 亚马逊 EventBridge 作为活动总线的架构示例

迁移到事件驱动架构的好处

在这篇博客文章中,我们清晰简洁地列举了事件驱动架构的好处,例如可扩展性、容错能力和开发人员速度。这是一篇开启事件驱动架构风格的好文章,因为它解释了与请求响应架构的区别。

带我去看这篇计算博客文章!

Two common options when building applications are request-response and event-driven architecture

构建应用程序时的两个常见选项是请求响应和事件驱动架构

使用事件驱动架构构建下一代应用程序

当我们构建分布式系统或从单体架构迁移到微服务架构时,我们需要确定一种通信策略来集成不同的服务。构建微服务的团队通常会发现,与其他应用程序和外部服务的集成可以使他们的工作负载紧密耦合。

在这段 re: Invent 2022 视频中,您将学习如何使用事件驱动架构通过异步通信来解耦和分散应用程序组件。该视频介绍了同步和异步通信之间的区别,然后深入探讨了在 亚马逊云科技 上设计和构建事件驱动架构的一些关键概念。

带我去看这个 re: Invent 2022 视频!

How to use choreography to exchange information across services plus implement orchestration for managing operations within the service boundaries

如何使用编排来跨服务交换信息,并实现协调以管理服务边界内的运营

设计活动

在开始事件驱动架构之旅时,一个常见的挑战是如何设计事件:“一个事件应该包含多少数据?”是我们遇到的典型的第一个问题。

在这篇务实的文章中,你可以探索不同类型的事件,观看进一步解释如何使用事件驱动架构的视频,还可以浏览serverlessland.com新的事件驱动架构部分。

带我去 无服务器 世界

An example of events with sparse and full state description

具有稀疏和完整状态描述的事件示例

下次见!

感谢您阅读我们 2023 年的第一篇博客!下次加入我们,届时我们将讨论建筑和可持续发展。

要查找本系列的所有博客,请访问 L et's Architect! 亚马逊云科技 架构博客 部分 。