01——微服务的发展
1:Monolith(整体架构)
服务所对应的代码由多个项目所组成,最终合并在一起形成一个WAR包,再部署到Web容器。
负载与扩容:
2:微服务(Microservice)架构模式
- Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩容。
- 微服务=模块化开发+分布式计算
- 将系统拆小,减小系统的复杂度。
- 每个模块只需要关心自身需要的特性。
——模块通信
如果整个系统之间各个子服务的沟通很多,那么在各个子服务之间进行调用将变成一个噩梦,需要公共服务对它们进行管理。
微服务本身不是什么新技术,只是随着业务的不断发展,对业务不断分层,不断拆分。
3:架构图
微服务架构图:
每个服务可以有自己的技术框架和自己的数据库
架构设计发展:
微服务优点
- 每个微服务都很小,能聚焦一个指定的业务功能或业务需求。
- 微服务能够被小团队单独开发,可是2到5名开发人员组成。
- 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
- 微服务能使用不同的语言开发。
- 微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。
- 微服务能够即时被要求扩展。
- 微服务能部署中低端配置的服务器上。[云服务器]
- 每个微服务都有自己的存储能力,可以有自己的数据库。
- 微服务允许利用融合最新技术。
- 一个团队的新成员能够更快投入生产。
微服务调用方式
HTTP接口(SpringCloud的方式) 或 RPC(大厂用的多)。
这两种方式具体那种更合适自己就选那种。
RPC(远程过程调用协议):
RPC 就像调用本地方法一样,对调用者来说使用更方便。
RPC 开源框架很多,可以根据自己的开发语言进行选择适合自己的。
Ex:淘宝的Dubbo架构,即可以做为微服务架构下的服务管控平台。