SuperAPI AI 工具集

microservices-patterns

设计与创作

查看项目

更新于 10-16 05:07

技能介绍

该技能用于设计微服务架构,适合单体拆分、划定服务边界、服务间通信与弹性设计等场景。

服务拆分:按业务能力组织服务(如 OrderService、PaymentService、InventoryService),各服务独占其领域;按 DDD 子域拆分,限界上下文映射为服务,明确归属与职责;绞杀者模式用于从单体逐步抽取,新功能以微服务实现,代理在新旧系统间路由。

通信模式:同步请求/响应示例使用 tenacity 的 retry、stop_after_attempt、wait_exponential 包装 httpx 异步客户端;异步事件/消息示例使用 aiokafka 的 AIOKafkaProducer 发布 DomainEvent。

弹性模式:熔断器(failure_threshold、recovery_timeout,状态含 CLOSED、OPEN、HALF_OPEN);隔舱模式按服务隔离资源,限制故障影响、防止级联失败;API 网关示例用 circuit 装饰 call_service,并通过 asyncio.gather 并行聚合订单、支付、库存服务结果。

数据管理:每服务独立数据库,不共享数据库以保持松耦合;分布式事务采用 Saga 模式(详情参见 saga-orchestration 技能)。

最佳实践:服务边界对齐业务能力;每服务独立数据库;API 契约版本化并向后兼容;尽可能异步;使用熔断器快速失败;分布式追踪;健康检查(存活与就绪探针)。常见陷阱:分布式单体、服务间调用过多、缺少熔断器导致级联失败、全部同步、忽视网络故障。具体收费、平台与运行环境暂未提供。