Spring Cloud Alibaba大型微服务架构项目实战(上册)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.2 微服务架构并不是石头缝里蹦出的孙悟空

微服务架构并不是神话故事中的孙悟空,某一天忽然从石头缝里蹦出来了。

微服务架构并不神秘,在“微服务架构”这个概念“火”起来之前,微服务架构叫什么?或者换一个说法:“微服务架构的雏形是什么?”

其实,前文中网站架构演进的过程已经给出了答案。在微服务架构这个概念变得流行之前,技术架构也在不断优化和演进,只是那时关于架构的讨论并不多,毕竟当时有很多开发人员连前后端分离的概念都还没搞懂,前端开发人员还自嘲为“切图仔”,有些系统甚至是用JSP+Servlet进行开发的。另外,当时的技术论坛也比较沉闷,很少有人发布博客,如果不是技术大咖,根本不敢在论坛里“高声言语”。不像现在,技术人员在互联网上的“声音”越来越大,技术论坛也异常活跃,各种技术的原理、实践都会被翻来覆去地讨论和讲解。比如架构方面的知识(如微服务、云原生、DDD领域驱动、Service Mesh服务网格),可能很多在校大学生都已经耳濡目染,能够谈一谈这方面的知识和体会了,因为这些知识点会通过论坛、邮件、群聊、公众号、App通知等各种渠道定时定点地“轰炸”IT行业的从业者和将要进入IT行业的从业者,想不了解都不行。

笔者记得很清楚,在微服务架构这个概念“火”起来之前,人们会用“分布式服务”或“服务化”来概括这种将大系统拆分为小系统的架构模式,与微服务架构的方式很像,也是对巨无霸的单体应用进行拆分,并结合RPC协议进行服务通信和调用。常见技术有Dubbo、DubboX、CXF、gRPC、HSF、Motan等。当然,其实各个互联网大厂也都有各自的自研技术框架,这些是不对外开放的。当时流行的都是一些开源的技术框架,笔者实际上手开发实践过的就有基于Dubbo的后端项目,也有基于Hessian的后端项目,而这些框架也通常被叫作分布式服务框架。

所以,之前并不是没有微服务架构或微服务架构的雏形,只是彼时的叫法不同而已。随着微服务概念的流行、微服务生态的完善和微服务架构落地规则的细化,现在业内人士都默认将这种架构方式称为微服务架构了。从笔者进入行业工作到2017年的这段时间,关于微服务架构的讨论在国内有很多,不过更多的还是叫“分布式服务”或“服务化”。从2017年至今,“微服务架构”这个概念一统江湖,人们都会以“微服务”来描述这种大型分布式服务的架构了。以上是笔者的个人感受,可能在具体的时间点或具体的名称上有一些偏差,但是微服务架构并不是凭空出现的,它的雏形其实早就存在了。