同意微服务并不是拆的越细越好,微服务架构的实施从某种程度上来说要求是很高的,最好是有完善的自动化部署流程,可以自动发布到对应的环境。小团队维护多个服务本身也是非常痛苦的事情,不仅对于因为拆分带来的额外知识和复杂度需要更高的认知,也会降低开发和维护效率。
分享一篇很早前老马的文章:
https://martinfowler.com/bliki/MonolithFirst.html这篇文章现在看来也并不过时,不能为了拆分而拆分,就像动不动就造个轮子一样,要克制这种冲动。
讨论如何能够控制合理的粒度,或者什么情况下才考虑拆分,我之前写过一篇文章,欢迎交流指正:
https://maguangguang.xyz/services-split-in-iterative-development