用途:当需要用 DDD 定义微服务边界、设计服务间契约与事件驱动通信、实现跨服务一致性与查询策略,或在同步(REST/gRPC)与异步(事件/消息)通信之间做选择时使用本技能。
工作流:先将限界上下文映射为服务边界;在每个服务内定义聚合以保证数据一致性;设计通信方式,查询与强一致走同步,解耦走异步领域事件;坚持数据所有权,每个服务拥有自己的数据库,通过 API 或事件共享数据。
主要能力:限界上下文到服务的映射(如订单、库存、支付等服务及各聚合与事件);同步通信示例使用 Feign 客户端(@FeignClient、@GetMapping);异步通信通过发布与订阅领域事件(@Transactional 中保存聚合并发布 OrderPlacedEvent,订阅端用 @EventListener 处理);数据库按服务拆分(各服务对应独立库)。
最佳实践:拆分前先清晰定义限界上下文,避免过早拆分;用领域事件表达跨聚合与跨服务事实,保证幂等与顺序;为每个服务定义清晰 SLA、数据所有权与失败边界;优先最终一致性与补偿事务(Saga 模式),而非分布式事务。
适用场景:微服务边界划分、事件驱动架构、CQRS、无共享数据库与最终一致性设计。限制:资料未提供具体安装命令、环境要求、版本或定价信息,暂未提供。