Logo
☆☆☆☆☆
0.0
Intermediate
35h

Go语言中的事件驱动架构

事件驱动架构(EDA)是一种帮助组织解耦微服务、避免构建另一种分布式单体的架构。随着Web应用在规模和复杂性上的增长,越来越多的企业开始采用事件驱动架构(EDA)。借助EDA,围绕实时交互来扩展或开发应用程序变得更加容易。为下一个应用选择新架构,或决定重构现有应用时,可能会面临诸多已知和未知的挑战。 本课程将提供充足的示例和知识,为你开展EDA开发提供良好的起点。此外,课程将通过一个小型模块化单体演示应用,帮助你深入探讨并掌握EDA的相关概念与主题。 完成本课程后,你将能够利用该应用探索相关概念,并将其原有的同步机制逐步转换为异步通信机制。

14 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
Go语言中的事件驱动架构
事件驱动架构(EDA)是一种帮助组织解耦微服务、避免构建另一种分布式单体的架构。随着Web应用在规模和复杂性上的增长,越来越多的企业开始采用事件驱动架构(EDA)。借助EDA,围绕实时交互来扩展或开发应用程序变得更加容易。为下一个应用选择新架构,或决定重构现有应用时,可能会面临诸多已知和未知的挑战。...

WHAT YOU'LL LEARN

了解事件驱动架构(EDA)在解耦微服务方面的基本优势,以及如何避免形成分布式单体。

Content

14 Lessons • 0 Quizzes • 0 Challenges

概述
  1. 1

    关于本课程

事件驱动架构简介
  1. 1

    简介

  2. 2

    EDA 模式

  3. 3

    EDA 核心组件

  4. 4

    MallBots 应用程序

  5. 5

    事件驱动架构(EDA)的优势

  6. 6

    事件驱动架构(EDA)的挑战

  7. 7

    总结

  8. 8

    测验:事件驱动架构

监控与可观测性
  1. 1

    简介

  2. 2

    什么是监控与可观察性?

  3. 3

    使用 OpenTelemetry 和 Prometheus 对应用程序进行监控埋点

  4. 4

    为应用程序添加指标

  5. 5

    查看监控数据

  6. 6

    总结

  7. 7

    测验:监控与可观测性

简要介绍支持性模式
  1. 1

    简介

  2. 2

    领域驱动设计

  3. 3

    关于领域驱动设计(DDD)的一切

  4. 4

    领域驱动设计的建模与核心模式

  5. 5

    架构演进:从传统架构到以领域为中心的架构

  6. 6

    六边形架构:测试与适配策略

  7. 7

    命令与查询职责分离

  8. 8

    应用架构

  9. 9

    总结

  10. 10

    测验:支持模式

附录
  1. 1

    搭建本地环境

  2. 2

    安装必要的 DevOps 工具

设计与规划
  1. 1

    简介

  2. 2

    事件风暴

  3. 3

    大图景事件风暴(Big Picture EventStorming)

  4. 4

    步骤一和步骤二:启动与混乱探索

  5. 5

    第三步:执行时间线

  6. 6

    第四步:人员与系统

  7. 7

    第五步:明确的逐步解析

  8. 8

    最后一步:问题与机遇

  9. 9

    设计层面的事件风暴

  10. 10

    理解业务

  11. 11

    记录架构决策

  12. 12

    总结

  13. 13

    测验:设计与规划

事件基础
  1. 1

    简介

  2. 2

    MallBot 概览

  3. 3

    模块代码组织

  4. 4

    组合根

  5. 5

    用户界面

  6. 6

    模块集成

  7. 7

    事件类型

  8. 8

    领域事件:高效系统适应

  9. 9

    领域事件优化:处理效率

  10. 10

    总结

  11. 11

    测验:事件基础

使用事件溯源跟踪变更
  1. 1

    简介

  2. 2

    事件溯源

  3. 3

    将事件溯源添加到单体架构中

  4. 4

    更新单体模块

  5. 5

    添加事件溯源包

  6. 6

    聚合仓库与事件存储

  7. 7

    实现事件存储

  8. 8

    恰到好处地使用 CQRS:一组存储

  9. 9

    恰到好处地使用CQRS:一组产品

  10. 10

    将领域事件与读模型进行关联

  11. 11

    聚合事件流的生命周期

  12. 12

    使用快照

  13. 13

    总结

  14. 14

    测验:使用事件溯源跟踪变更

异步连接
  1. 1

    简介

  2. 2

    基于消息的异步集成

  3. 3

    通过通知事件和状态传输实现事件集成

  4. 4

    最终一致性

  5. 5

    消息传递的可靠性保证

  6. 6

    消息传递:幂等消息

  7. 7

    消息传递:有序消息

  8. 8

    使用 NATS JetStream 实现消息通信

  9. 9

    am 和 jetstream 包

  10. 10

    将门店管理模块改为异步模式

  11. 11

    从门店管理模块发布消息

  12. 12

    购物车模块中接收消息

  13. 13

    总结

  14. 14

    测验:异步连接

事件携带状态传输
  1. 1

    本章简介

  2. 2

    增强模块交互:异步 API 实现

  3. 3

    通过异步回退机制增强弹性

  4. 4

    客户状态转移

  5. 5

    订单处理与支付状态流转

  6. 6

    记录异步 API

  7. 7

    添加新的订单搜索模块

  8. 8

    从多个源构建读取模型

  9. 9

    总结

  10. 10

    测验:事件携带的状态传输

消息工作流
  1. 1

    简介

  2. 2

    分布式事务

  3. 3

    比较分布式事务的各种方法

  4. 4

    Sagas 的类型

  5. 5

    使用Saga实现分布式事务

  6. 6

    SEC包添加与订单创建流程转换

  7. 7

    客户模块

  8. 8

    仓库、订单处理和支付模块

  9. 9

    创建订单Saga执行协调器的实现

  10. 10

    使用编排型Saga增强订单处理

  11. 11

    总结

  12. 12

    测验:消息工作流

事务性消息传递
  1. 1

    简介

  2. 2

    识别分布式应用面临的问题

  3. 3

    探索事务边界

  4. 4

    配置容器

  5. 5

    使用容器实现模块的依赖注入

  6. 6

    事务性依赖注入:适配器与处理器优化

  7. 7

    使用收件箱处理消息

  8. 8

    使用发件箱模式处理消息

  9. 9

    总结

  10. 10

    测验:事务性消息

测试
  1. 1

    本章简介

  2. 2

    制定测试策略

  3. 3

    使用单元测试对应用程序和领域进行测试

  4. 4

    在测试中创建和使用测试替身

  5. 5

    通过集成测试验证依赖关系

  6. 6

    测试 ProductCacheRepository

  7. 7

    将测试拆分为多个组

  8. 8

    使用契约测试验证组件交互

  9. 9

    使用 Pact 进行契约测试

  10. 10

    REST 消费者与提供者示例

  11. 11

    消息消费者与提供者示例

  12. 12

    使用端到端测试验证应用程序

  13. 13

    将我们的功能转化为可执行的规格说明

  14. 14

    总结

  15. 15

    测验:测试

将应用程序部署到云平台
  1. 1

    简介

  2. 2

    将模块化单体架构转变为微服务

  3. 3

    更新每个模块的组合根

  4. 4

    Dockerfile 构建流程的更新

  5. 5

    在 Compose 环境中添加反向代理

  6. 6

    必备的 DevOps 工具

  7. 7

    使用 Terraform 配置 AWS 环境

  8. 8

    部署基础设施

  9. 9

    使用 Terraform 将应用部署到 AWS

  10. 10

    总结

  11. 11

    测验:将应用程序部署到云平台

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)