架构是训练营第 10 周学习笔记
● 微服务除了规范的服务注册和发现,服务调用的标准功能还要支持:
失效转移(FailOver),负载均衡,高效的远程通信,对应用最少侵入(以业务为基础,技术提供支持,微服务化过程中可能出现反复)版本管理
● 微服务架构实践
● 读写服务分离,业务更清晰利用优化
● 事件溯源,可以精确复现用户状态用来复核审计,还可以监控用户状态变化,再次基础上实现分布式事务
● 断路器-关闭,打开,半开。根据服务器资源消耗进行不同状态切换
● 服务重试及调用超时,上游大于下游超时之和
● 需求更重要,技术只是手段
● 微服务网关,分为内部网关和开放平台网关
● 网关不负责逻辑,具体逻辑实现是由微服务提供
● 网关的作用
![](https://static001.geekbang.org/infoq/47/4718b4cdf79ce1d6be5e02866892f90c.png)
● 网关管道技术
● 网关本身没有什么业务,主要职责是做各种校验与拦截,这些职责可以通过管道技术连接起来。
![](https://static001.geekbang.org/infoq/ab/ab9d12d56a0200dbbeed6e50696f705b.png)
● DDD 领域驱动设计
● 贫血模型 VS 充血模型
● 没有最好的只有更合适的
● 领域设计
● 对业务进行分析拆分成功子系统, 这些子系统的业务是在一个领域-子领域,领域之间靠边界的来划分
● 限界上下文,保证子领域概念统一,对应一个模块或组件,或微服务,或子系统
● 上下文映射图
● 组件设计原则- 高内聚低耦合
● 内聚原则
● 复用发布等同原则
● 共同封闭原则
● 共同复用原则
● 低耦合
● 无循环依赖原则
● 稳定依赖原则
● 稳定抽象原则
评论