微服务架构是指:是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间采用轻量级的通信机制互相沟通,每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境。
为什么潮流会由单体架构推进至微服务架构?
在我看来,这是一种对人类社会形态的模拟。
可以看到,从原始社会发展到现在,人类的分工是越来越精细的。
原始社会:
简单地进行采集、狩猎分工。小红负责采集,小明负责狩猎。能干的事情相当有限。
换算为编程:在两个类里写完所有业务代码。
农业社会:
在分工的基础上诞生了阶级。大部分团队里都区分了从事高级的上层工作的人和从事基本工作的人,好比老爷、管家、仆人。仆人小红负责打扫,小明负责煮饭,他们从事各种各样不同的工作,但都属于一个阶级。
换算成编程:小明和小红两个类被放在一个叫做仆人的包下面。老爷、管家、仆人三个包构成单体架构应用。
工业社会:
在阶级的基础上又诞生了公司。公司下辖大量不同的事业部,事业部内部也分阶级(当然我知道这个词不太贴切,总之能理解所指的意思就行)。小红负责售前,小明负责售后,他们都是顾问。顾问、开发、产品组成了xxx事业部。包括xxx在内的很多个事业部共同组成了yyy公司。
小明和小红两个类被放在一个叫做顾问的包下面,顾问、开发、产品三个包被放在xxx微服务下面。包括xxx在内的很多个微服务共同组成了yyy微服务架构应用。
很好,现在不同事业部的顾问不用混在一起鸡同鸭讲了,他们更应该和同事业部的运维、产品多多交流,合乎其理。