测验:服务边界
划分限界上下文时,最有力的线索是什么?
- 表的数量
- 同一术语在不同团队中具有不同含义的地方
- 代码行数
- REST 端点数量
直接把“订单/商品/会员”这样的表名提升为服务名,最典型的症状是什么?
- 单个服务变得过大
- 为了一个页面,总要同时调用三个服务
- 部署速度过快
- 数据重复消失
如果有些数据必须处于同一个事务中,应如何处理?
- 优先考虑放在同一个服务中
- 拆成两个服务并使用 2PC
- 无论如何都要拆分
- 用缓存解决
在服务之间共享公共 DTO 库,会带来什么问题?
- 依赖增多,延长各服务的构建时间
- 无法在各服务中复用库附带的测试
- 库版本会促使所有服务同步变更,形成隐蔽耦合
- 所有服务都必须统一使用与库相同的语言
服务边界划错时,最早出现的信号是什么?
- 每次部署时 CPU 使用率一起上升
- 服务日志量持续增加
- 容器镜像持续变大
- 发布一个功能总要协调两个团队的日程