【Way to Spring Cloud 4】Spring Cloud Ribbon

Spring Cloud Ribbon

什么是负载均衡

  • 负载均衡是微服务架构中经常使用的一种技术。 负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,简单的说就是将用户的请求平摊的分配到多个服务上,从而实现系统的高可用性集群
  • 负载均衡可通过 硬件设备 及 软件 进行实现,软件比如:Nginx等,硬件比如:F5等
  • 负载均衡相应的在中间件,例如:Dubbo 和 SpringCloud 中均给我们提供了负载均衡组件
    在这里插入图片描述
    用户请求先到达负载均衡器(也相当于一个服务),负载均衡器根据负载均衡算法将请求转发到微服务。负载均衡器维护一份服务端列表,根据负载均衡算法 将请求转发到相应的微服务上。
    负载均衡 算法有:轮循、随机、加权轮循、加权随机、地址哈希等方法,所以负载均衡可以为微服务集群分担请求,降低系统的压力。

什么是客户端负载均衡(Ribbon)

上图是服务端负载均衡。客户端负载均衡和服务端负载均衡最大的区别在于服务清单所存储的位置。在客户端负载均衡中,每个客户端服务都有一份自己要访问的服务端清单,这些清单统统都是从Eureka服务注册中心获取的。而在服务端负载均衡中,只要负载均衡器维护一份服务端列表 。

Spring Cloud Ribbon 是基于 Netflix 公司发布的开源项目 Ribbon 进行封装的一套客户端负载均衡器。
Ribbon 从 Eureka Server 获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务。

如下图是Ribbon负载均衡的流程图:
在这里插入图片描述

Ribbon 服务调用配置实战

修改microservice-cloud-04-consumer-product-80 模块
在这里插入图片描述
右键可以查看依赖关系
在这里插入图片描述
修改yml文件
在这里插入图片描述
修改ConfigBean
在这里插入图片描述
修改Controller为服务名
在这里插入图片描述
修改主启动类
在这里插入图片描述
测试客户端可以正常访问

Ribbon 负载均衡实战

在这里插入图片描述
新建数据库springcloud_db02
在这里插入图片描述
新建 microservice-cloud-06-provider-product-8002
(同microservice-cloud-03-provider-product-8001),配置yml和启动类

在这里插入图片描述
在这里插入图片描述
依次启动6001、6002、8001、8002、80,访问80,会轮询访问db01和db02,测试成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值