微服务的边界 (粒度) 是 "决策",而不是个 "标准答案"。
许多人面对微服务时,往往都会纠结着一个问题:微服务太小?太大?
其实,会纠结在这个问题上,最根本的原因便是误解了微服务粒度划分这件事的本质;微服务划分本身是 "架构设计"。也就是说微服务划分本身绝不是一个只讲"太大"或 "太小"标准答案的 "是非题"。而是需综合考量以下的因素,所作出的一个 "架构决策":
1. 市场业务的扩展性
2. 与已有架构间的冲突
3. 开发团队在开发上所可能面临的风险
4. 测试人员测试执行的效率
所以,请不要再简单粗暴的便脱口而出:你的微服务划得太细、太小...
而是应该将各微服务划分的方式,深度思考,周全的考量各方面的因素下,所作出的一个 ”最适合” 的架构决策,而不是一个人芸亦芸的 ”标准答案”。