前言
随着微服务被各大企业应用在项目中,微服务的框架也被更多人学习和使用,但是大部分情况下都是停留在应用层,俺也是一样,所以写springcloud这个系列和大家交流下心得,有什么不对的地方欢迎指出,看完记得一键三连(⊙o⊙)
一、演变过程
1.1 服务注册和发现基本概念
服务注册:将某个或者某些服务的信息(模块的ip和端口)注册到一个公用的组件上。
服务发现:新注册的模块信息能够被其他调用者发现,无论是服务的新增还是服务的剔除都可以知晓。
1.2 web1.0数据请求模型框架
在传统的项目框架中,没有服务的注册和发现组件,因为当时的服务架构比较简单,都是单体应用服务,如下图所示
这里不存在,服务的注册和发现因为这是一个单体的服务,足够应对当时的网络用户需求,但是所着科技的进步和社会的发展,这种单体的应用架构不足以支持业务的发展,来到了2.0版本
1.3 web2.0数据请求模型框架
随着用户变多,单体服务扛不住用户的请求压力时,我们将服务进行水平扩展,增加服务器,来应对用户的请求,用户的请求经过nginx来进行负载均衡到后面的服务器,如下图
这种架构虽然可以抗住用户的请求,但是服务的信息是配置在nginx上面,如果需要进行增加模块或者对一些应用进行扩展,还需要在nginx上面配置一遍,对运维人员非常不友好,而且服务太多了不好管理,来到了3.0版本——微服务
1.4 web3.0微服务框架
微服务即每个应用抽取出来成为一个独立的服务,部署在相同或者不同的服务器上面,彼此之间独立解耦 如下图