直接回答
微服务的优点:服务小而自治,可独立开发、部署、扩缩容,技术栈可异构,故障隔离,团队围绕服务自治、利于规模化协作。缺点:引入分布式系统的全部复杂度——网络不可靠、数据一致性难保证、运维和监控成本陡增,跨服务测试与调试困难,对组织的 DevOps 成熟度要求高。
展开解析
优点展开看:独立部署意味着发布风险小、迭代快;独立伸缩让资源只花在热点服务上;故障被限制在单个服务边界内(配合熔断),不会整站崩溃;服务边界与团队边界对齐(康威定律),大团队可并行不悖。缺点同样具体:一次请求跨多个服务,排查问题需要分布式追踪;本地事务变成 Saga 或最终一致性,业务设计变难;接口契约需要治理,版本兼容成为日常;基础设施门槛高——注册发现、配置中心、网关、容器编排,小团队往往不堪重负。结论是微服务不是银弹而是组织问题的架构解法:业务复杂、团队大、迭代要求高时收益盖过成本;初创或小系统从模块化单体起步更务实。追问:何时拆出第一个服务、与 Serverless 的关系。