Design Microservices Architecture with Patterns & Principles
通过在微服务架构上设计高可扩展性和高可用性系统来处理数百万个请求。
你将会学到的
- 使用设计模式、原则和最佳实践来设计微服务架构
- 了解如何通过设计具有高可用性、高可扩展性、低延迟和网络故障恢复能力的系统来处理数百万个请求
- 软件架构设计之旅
- 逐步将架构单片演变为事件驱动的微服务
- 设计电子商务单体 – 分层 – SOA – 微服务 – 事件驱动架构
- 微服务分解策略
- 微服务通信(基于同步/异步消息的通信,API Gws)
- 微服务数据管理(数据库/查询/命令/分布式事务)
- 微服务分布式缓存
- 使用容器和编排器部署微服务
- 微服务设计模式和最佳实践
- Database-per-Service 模式、Api Gateway 模式、Backends for Frontends 模式 BFF
- 服务聚合器模式、服务注册模式
- CQRS 和事件溯源模式、最终一致性原则、CAP 定理
- 物化视图模式、发布-订阅模式、数据库分片模式
- Saga 模式和发件箱模式
- GitHub 上现有微服务架构存储库的代码审查
- 动手设计活动,将设计架构从本地迭代到无服务器架构
- 将单体架构演进为事件驱动的微服务架构
- 重构系统设计以处理数百万个请求
- 准备软件架构面试
- 准备系统设计架构面试
要求
- 软件架构基础
说明
在本课程中,我们将学习如何使用设计模式、原则和最佳实践来设计微服务架构。我们将使用正确的架构设计模式和技术。
在课程结束时,您将学习如何通过设计系统来处理数百万个请求,以在微服务分布式架构上实现高可用性、高可扩展性、低延迟和对网络故障的弹性。
本课程将是软件架构设计的旅程,逐步将架构从单体发展到事件驱动的微服务。
我们将从设计处理少量请求的电子商务整体架构开始软件架构的基础知识。
之后逐步演变架构:
- 分层架构
- SOA
- 微服务
- 最后是事件驱动的微服务架构,共同设计处理数百万个请求。
我们将从各个方面讨论微服务架构,
- 微服务分解
- 微服务通信(基于同步/异步消息的通信,API Gws )
- 微服务数据管理(数据库/查询/命令/分布式事务)
- 微服务分布式缓存
- 使用容器和 编排器部署微服务
应用微服务设计模式和实践。
我们将使用我们将使用此设计架构的绘图工具一步一步地进行设计。
我们将从设计单体架构开始。你可以看到我们有功能性和非功能性需求,应该涵盖我们的设计,我们有模式和原则工具箱,我们将在发展架构时学习和使用这些原则。
您会发现我们将添加新的需求以处理数百万个请求并学习在架构演进时将使用这些原则的新模式和实践。
- 分层架构
- SOA
- 微服务架构
- 微服务架构API Gws
- 微服务架构API Gws – BFF
- 微服务架构 –服务聚合器/注册表模式
- 微服务架构 –消息代理
- 微服务架构 –数据库分片 Cassandra
- 事件驱动的微服务架构
- 微服务分布式缓存
- 微服务容器和编排器
我们将看到充满模式和原理工具箱正在加载新模式并将它们应用到当前设计中。我们将看到最新的模式,我们使用了 30 多种模式和实践来实现高可扩展性、高可用性并处理数百万个请求需求。
让我写一些我们在本课程中介绍的微服务模式;
- 每个服务的数据库模式
- API 网关模式
- 前端模式 BFF的后端
- 服务聚合器模式、服务注册模式
- CQRS和事件溯源模式
- 物化视图模式
- 发布-订阅模式
- 数据库分片模式
- 佐贺模式
- 发件箱模式等等..
因此课程流程将是理论和实践信息;
- 我们将学习一个特定的模式,我们应该使用的原因和位置
- 之后,我们将看到应用这些模式的参考架构
- 之后,我们将应用这个新学习的模式来设计我们的架构
- 最后,我们将决定哪些技术可以作为该架构的选择。
在最后一节,我们将在 GitHub 上对现有微服务架构存储库进行代码审查,以实际实现微服务架构。
所以本课程将包括
- 动手设计活动
- 将设计架构从本地迭代到无云服务器架构
- 将整体架构演变为事件驱动的微服务架构
- 重构系统设计以处理数百万个请求
- 应用微服务设计模式和原则的最佳实践
- 从通信、数据管理、缓存和部署 等各个方面检查微服务模式
- 准备软件架构面试
- 准备系统设计架构面试考试。
参加过几家知名公司的架构职位面试,也参与过软件架构师职位评估流程50+面试 收集软件行业职位的架构要求。
因此,通过本课程,您将获得从单体架构到事件驱动微服务架构的所有架构职位的真实经验。
本课程为初学者准备,但至少您应该熟悉软件架构的基础知识。本课程将有很好的理论信息,但也将是90% 的动手设计活动。所有课程架构步骤都将一步一步地一起设计。
我希望你能和我一起踏上这段旅程,和我一起开发这个项目。
此课程面向哪些人:
- 谁想成为软件架构师
- 谁想成为解决方案架构
- 谁想通过系统设计架构面试
TheItzy » Design Microservices Architecture with Patterns & Principles