springCloudAlibaba组件-Nacos-服务发现与负载均衡(三)

服务发现概述

如果项目使用微服务架构,如果A微服务需要访问B微服务,需要http请求进行调用,当然需要B微服务的地址与端口号,微服务可以向之前提到的服务中心进行获取B服务的ip地址和端口号,这就是服务发现

服务发现两种形式

1.客户端主动获取
客户端:
流程:
1.先是故障转移机制判断是否去本地文件中读取信息,读到则返回
2.再去本地服务列表读取信息(本地缓存),没读到则创建一个空的服务,然后立刻去nacos中读取更新
3.读到了就返回,同时开启定时更新,定时向服务端同步信息 (正常1s,异常最多60s一次)
服务端:
流程:获取服务列表 ,推送数据

2.服务端主动推送
条件:建立长连接、触发推送事件

服务端:监听服务变更事件,服务变更调用触发事件,触发事件主动推送服务变更信息到客户端
客户端:收到服务端变更信息,客户端主动拉取会赚钱最新的服务信息

nacos的负载均衡机制

负载均衡:将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行
负载均衡分为两种:
客户端的负载均衡与服务器端的负载均衡

			服务器端负载均衡:

在这里插入图片描述
就是让一个人(Nginx)来安排学生(请求)来排队到不同的窗口(应用服务器)打饭嘛
客户端的负载均衡
客户端的负载均衡是在spring-cloud后出现的,在spring-cloud中有ribbon组件来负责负载均衡。spring的负载均衡需要用到服务注册中心eruka。

服务提供方:将自己注册到服务注册中心eruka

服务消费方:从服务注册中心中获取服务列表,使用服务

客户端的负载均衡流程如下:

服务消费方通过ribbon先从服务注册中心获取服务列表,根据一定的负载均衡算法,分发请求到不同的服务提供方
在这里插入图片描述
可以理解成学生(服务消费方)在进入饭堂(服务注册中心)后根据自己的想法(负载均衡策略)选择合适的窗口(服务提供方)

nacos自带负载均衡策略,通过负载均衡器进行调用微服务(默认使用轮询机制)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值