微服务的微,是指服务粒度的微么?
微服务可能是由此得名的。但在微服务架构思想中,服务粒度的微,不应该放在首要强调的位置。
微服务架构的思想中,服务的粒度是能找到明确依据的。它由正反两个方向的力相互平衡决定。
驱动服务分割变小的正向力是解耦带来的收益。这个可以从几个方面考察——业务、团队、技术栈、运行时。[1]
反向力是服务分割变小后带来的问题,目前看来最难解决的是性能和数据一致性。服务的粒度越小,需要协作的服务数量越多,性能和一致性方面的影响就越大。
对于这两个力的平衡,不同的业务,不同的团队,不同的进化方向等等,多种因素决定了结果并不相同。正向力大一些,服务的粒度就小一些,服务就微一些,否则,服务就没那么微。
这样一来,服务是不是微、有多微,并不由微服务架构思想本身决定。甚至一种可能的合理结果是:运用微服务的思想分析之后,却发现使用单体架构更为合理。
所以,微服务的微,并不强调服务粒度的微。
更多博文请前往个人博客阅读 - http://www.nietongxue.xyz
-
前面有详细讨论,参见《单体优先还是微服务?》 ↩
网友评论