springCloud 尚硅谷 周阳教程学习 -- 第二部分初级 04 -- Ribbon 负载均衡服务调用

在这里插入图片描述

服务调用 Ribbon p36-p42 共 7 课 80 分钟
服务调用 OpenFeign p43-p46 共 4 课 40 分钟

在这里插入图片描述

周阳套路

  1. 是什么
  2. 能干嘛
  3. 去哪里下
  4. 怎么玩

服务调用 Ribbon p36-p42 共 7 课 80 分钟
服务调用 OpenFeign p43-p46 共 4 课 40 分钟

没有Ribbon 之前,直接通过80 轮询负载均衡方式访问 8001/8002

将之前写的5个moudule 恢复到负载均衡模式
EurekaMain7001
EurekaMain7002
PaymentMain8001
PaymentMain8002
OrderMain80

http://eureka7001.com:7001
http://eureka7002.com:7002
http://localhost/consumer/payment/get/1 – 不断刷新,看到的是 8001 8002

查看是否正常显示

官网 (Ribbon 进入维护模式了 )
https://github.com/Netflix/ribbon/wiki/Getting-Started

Ribbon提供的服务
ribbon-core
ribbon-eureka
ribbon-httpclient
… …

负载均衡 (Load Balance )
将请求平摊到多个服务器上面,达到系统HA (高可用)
常见的负载均衡软件有 Nginx / LVS / 硬件 H5 等

负载均衡模式两种: 1.集中式负载均衡 2.进程内负载均衡
Ribbon 本地负载均衡(进程内LB)客户端 VS Nginx 服务端负载均衡(集中式LB)

Nginx 服务器负载均衡,客户端所有请求交给nginx ,nginx实现转发请求 。
Ribbon 本地负载均衡,在调用微服务接口的时候,在注册中心上面获取注册信息服务列表后缓存到本地jvm,在本地实现RPC远程服务调用技术。
1.集中式负载均衡 : nginx 相当于医院大门处的分诊台(只分配到科室不分配到具体医生,医生由Ribbon处理)
2.进程内负载均衡 : Ribbon 相当于进入科室后 ,根据内部排班 再分流到某医师处 。

Ribbon = 负载均衡 + RestTemplate调用

ribbon 负载均衡调用 REST

https://www.bilibili.com/video/BV18E411x7eT?p=37
在这里插入图片描述
http://localhost/consumer/payment/get/1
在这里插入图片描述
http://localhost/consumer/payment/getEntity/1
在这里插入图片描述

restTemplate 官网
https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html

在这里插入图片描述

IRule 接口下的7个 ribbon 负载均衡算法
https://www.bilibili.com/video/BV18E411x7eT?p=38
在这里插入图片描述周阳提供的类继承关系
在这里插入图片描述本地生成的类继承关系
在这里插入图片描述

使用自定义的随机负载均衡算法替换默认的轮询算法

https://www.bilibili.com/video/BV18E411x7eT?p=39
在这里插入图片描述
自定义的ribbon配置类,不能放在@ComponentScan所能扫描到的当前包,及其子包里面,(懂了)
我们自定义的所有配置类会被所有的ribbon客户端所共享,达不到特殊定制的目的。 (没有懂)
在这里插入图片描述
在这里插入图片描述

再去访问这个接口就是随机的了
http://localhost/consumer/payment/get/1
在这里插入图片描述

(todo)
https://www.bilibili.com/video/BV18E411x7eT?p=40

http://localhost:7002/
http://localhost:7001/

http://localhost:8001/payment/lb
http://localhost:8002/payment/lb

http://localhost:80/consumer/payment/lb

在这里插入图片描述默认负载均衡
负载均衡方法替换
自定义负载均衡函数使用
在这里插入图片描述

注意三者之间的关系
@LoadBalanced
@RibbonClient(name = “CLOUD-PAYMENT-SERVICE”,configuration = MySelfRule.class)
ServiceInstance serviceInstance = loadBalancer.instances(instances);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值