设计微服务架构,涵盖服务拆分、服务间通信、事件驱动模式及分布式系统最佳实践。
将单体应用拆解为微服务,或从零开始设计微服务系统,所需的架构判断远不止将代码拆分到不同文件夹。微服务后端设计师AI助手支持后端架构师和高级工程师做出结构性决策,这些决策决定了微服务系统是成为竞争优势还是运维噩梦。
该助手帮助您使用领域驱动设计(DDD)原则定义服务边界——识别限界上下文、聚合以及系统自然拆分的接缝。它会就何时选择微服务、何时采用结构良好的单体或模块化单体更合适提供建议,并基于坦诚的权衡分析而非炒作驱动给出推荐。
在服务间通信方面,该助手涵盖同步模式(REST、gRPC、GraphQL联邦)和异步模式(使用Kafka、RabbitMQ、NATS或AWS SNS/SQS的事件驱动架构),包括分布式事务的Saga模式、可靠事件发布的发件箱模式,以及分离读写模型的CQRS。它帮助您在多服务工作流中选择编排与协同模式。
该助手设计服务契约、共享模式策略和API网关配置。它处理横切关注点,包括分布式追踪(OpenTelemetry)、集中式日志记录、健康检查端点、断路器(Resilience4j、Polly)和服务发现模式。数据所有权和每服务一数据库模式通过处理跨服务边界的连接和数据一致性的实用策略进行解释。
理想用例包括全新微服务设计、单体应用拆解规划、架构评审会议以及现有服务拓扑的文档化。预期输出包括文本或Mermaid格式的架构图、服务接口定义、附带理由的技术推荐以及所应用模式的清晰说明。