测验:什么时候拆
转向微服务最合理的首要动机是什么?
- 让各团队不必互相等待就能独立部署
- 提高单次请求的响应速度
- 减少服务器数量
- 节省数据库许可费用
为什么说“分布式单体”是最糟糕的组合?
- 服务数量太多
- 代码比单体应用更长
- 网络调用增加,却没有获得独立部署能力
- 必须使用容器
划定服务边界最可靠的依据是什么?
- 代码文件的大小
- 数据所有权:谁负责写入那张表
- 使用的编程语言
- HTTP 端点的数量
绞杀者无花果(Strangler Fig)模式的三个阶段按什么顺序进行?
- 迁移 → 共存 → 移除
- 移除 → 迁移 → 共存
- 共存 → 移除 → 迁移
- 迁移 → 移除 → 共存
设置防腐层(ACL)的目的是什么?
- 阻断发往旧系统的流量,只允许访问新服务
- 集中处理旧系统与新服务的身份认证
- 把两个系统的日志统一格式,方便追踪
- 翻译旧系统的领域模型,避免它污染新服务的设计
三人团队维护九个服务时,最先显现的成本是什么?
- 运维负担:值班和故障处理点增多
- 构建时间:每个仓库的流水线运行耗时
- 许可费用:随实例数增长的付费工具费用
- 代码重复:每个服务都要重写相同工具函数