(一)什么是微服务架构?
微服务架构是把项目中的每个功能模块划分成不同的服务,独立部署,进程独立,单一职责,可以调用不同的服务来实现不同功能的一种架构。

什么是服务集群?
举例:登陆服务,每个用户登陆都会去访问这个服务,如果登陆的人很多或并发量较大时,一个进程的登陆服务很难保障系统稳定。解决这个问题的办法就是创建许多个登陆服务来保障系统稳定,这些服务被装进一个容器中,用户请求登录时,直接请求网关,网关通过服务容器找到服务实例,返回给客户端
二,服务容器:
服务注册与发现是服务容器的实现,服务容器里面注册了各种服务的实例供网关调用
服务容器功能:
- 服务注册与服务发现
将服务装进容器中和查找服务实例 - 服务的健康检查
检查服务实例是否能正常调用
服务容器有哪些?
Nginx,Consul等....
1. Consul:
Consul工作流程图
Consul可以和客户端直接交互,也可以和网关进行
S-B(服务实例)
S-A(客户端)

三,网关:
虽然服务容器可以直接给客户端提供服务,但是这并不利于多对多服务的调用和管理,所以客户端需要请求网关,由网关拿到服务容器中的服务实例返回给客户端
负载均衡
有了许多相同的服务实例,当客户端请求的时候,网关该调用哪一个服务实例呢 ,网关怎么合理的调用这些集群给客户端提供服务?这就是负载均衡做的事情
基本的调用策略:
1. 平均策略
利用随机数的方式,抽到什么就调用哪个。
注意:随机数不一定是平均
2. 轮询策略
按照顺序轮流调用
3. 权重策略
在服务实例注册时,传入实例的权重参数,权重比较大的,调用到的几率就越大

浙公网安备 33010602011771号