微服务新特性设计指南
在微服务应用中设计新特性,需要对微服务进行谨慎且合理的范围界定。我们需要决定何时构建新服务或扩展现有服务,明确这些服务之间的边界,以及它们应如何协作。设计良好的服务具有三个关键特征:负责单一功能、可独立部署和可替换。
1. SimpleBank的新特性
SimpleBank的客户喜爱其产品,但大多数客户不想自己选择投资,更希望银行代劳。为解决此问题,我们将按以下四个阶段进行设计:
1. 理解业务问题、用例和潜在解决方案 :客户希望投资并增加财富,但当前需自行选择投资方式,这可能导致因缺乏投资知识而选择高风险资产。解决方案是让客户选择预制投资策略,银行按策略自动投资。
2. 识别服务应支持的不同实体和业务能力 :根据业务问题,识别出的用例包括银行创建和更新可用策略、客户创建账户并选择合适策略、客户使用策略投资并生成订单。
3. 确定负责这些能力的服务范围 :
- 按业务能力或有界上下文 :服务应对应相对粗粒度但内聚的业务功能区域。业务能力与领域驱动设计(DDD)方法密切相关,DDD中的有界上下文是内聚单元,有明确范围和外部边界,可作为服务范围界定的起点。
- 按用例 :服务应为反映系统中发生的动作的动词。
- 按波动性 :服务应封装未来可能发生变化的区域。
4. 根据当前和潜在未来需求验证设计 :确保设计的服务能满足当前及未来可能的业务需求。
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



