微服务
单体-》服务化(进程内的调⽤变成远程RPC调用)-》微服务-》容器化-》devops
微服务是由单⼀应⽤程序构成的⼩服务,拥有⾃⼰的进程与轻量化处理,服务依业务功能设计,以全⾃动的⽅式部署,与其他服务使⽤HTTP
API通讯。同时,服务会使⽤最⼩规模的集中管理 (例如Docker)技术,服务可以⽤不同的编程语⾔与数据库等。
什么是微服务?
从2014年开始,得益于以Docker为代表的容器化技术的成熟以及DevOps⽂化的兴起,服务化的思想进⼀步演化,演变为今天
我们所熟知的微服务。那么微服务相⽐于服务化⼜有什么不同呢?
在我看来,可以总结为以下四点:
1. 服务拆分粒度更细。微服务可以说是更细维度的服务化,⼩到⼀个⼦模块,只要该模块依赖的资源与其他模块都没有关
系,那么就可以拆分为⼀个微服务。
2. 服务独⽴部署。每个微服务都严格遵循独⽴打包部署的准则,互不影响。⽐如⼀台物理机上可以部署多个Docker实例,每
个Docker实例可以部署⼀个微服务的代码。
3. 服务独⽴维护。每个微服务都可以交由⼀个⼩团队甚⾄个⼈来开发、测试、发布和运维,并对整个⽣命周期负责。
4. 服务治理能⼒要求⾼。因为拆分为微服务之后,服务的数量变多,因此需要有统⼀的服务治理平台,来对各个服务进⾏管
理。