提起微服务,肯定要了解一下微服务的发展历史,也就是为什么会演变出微服务这种架构。
传统的架构mvc:
1. 随着系统容量的扩大,维护和开发成本都非常高,比如改动某个功能模块,都需要整个服务重新部署;
2. 多个开发人员分别开发不同的功能模块,协同开发比较容易受影响
3. 分布式存储之后,改动一处,其他服务器上的代码也要跟着改动
随后提出了RPC架构,按照不同子功能进行拆分成多个独立的项目进行部署,项目间通过RPC进行通信
随后继续提出SOA, 知道最近提出的微服务架构,具体发展路径如图
微服务基本架构:
微服务有什么有优点呢?
•简单:单个服务简单,只关注于一个业务功能。
•团队独立性:每个微服务可以由不同的团队独立开发。
•松耦合:微服务是松散耦合的。
•平台无关性:微服务可以用不同的语言/工具开发。
•通信协议轻量级:使用REST或者RPC进行服务间通信
当然微服务也有缺点: