微服务之间的最佳调用方式!| CSDN 博文精选(14)

把程序拆分成微服务之后,每个团队负责几个服务,就容易管理了,而且每个团队也可以按照自己的节奏进行创新,但它给运维带来了巨大的麻烦。所以在微服务刚出来时,我一直觉得它是一个退步,弊大于利。但由于管理上的问题没有其他解决方案,只有硬着头皮上了。

值得庆幸的是微服务带来的麻烦都是可解的。直到后来,微服务建立了全套的自动化体系,从程序集成到部署,从全链路跟踪到日志,以及服务检测,服务发现和注册,这样才把微服务的工作量降了下来。

虽然微服务在技术上一无是处,但它的流行还是大大推动了容器技术,服务网格(Service Mesh)和全链路跟踪等新技术的发展。不过它本身在技术上还是没有发现任何优势。

直到有一天,我意识到单体程序其实性能调试是很困难的(很难分离出瓶颈点),而微服务配置了全链路跟踪之后,能很快找到症结所在。看来微服务从技术来讲也不全是缺点,总算也有好的地方。但微服务的颗粒度不宜过细,否则工作量还是太大。

一般规模的公司十几个或几十个微服务都是可以承受的,但如果有几百个甚至上千个,那么绝不是一般公司可以管理的。尽管现有的工具已经很齐全了,而且与微服务有关的整个流程也已经基本上全部自动化了,但它还是会增加很多工作。

推荐阅读