SpringCloud Ribbon负载均衡的集成引入

之间通过几篇文章简单介绍的eureka的使用及相关的知识,
今天开始主要讲解分布式系统框架中的另一重要构成:负载均衡

什么是负载均衡:
折叠负载均衡(LoadBalance)提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。是集群技术(Cluster)的一种应用,可以将工作任务分摊到多个处理单元,从而提高并发处理能力。

熟悉的分布式负载均衡的实现方式大概包括以下几种:
nginx\lvs\ribbon

负载均衡的策略:

  • 轮询 :依次发送请求到后端服务
  • 权重:根据权重配置分发请求,服务器性能好的可以权重大一些
  • IP哈希:根据算法确定请求服务器,同一个地址的客户端,始终请求同一台主机
  • 最少访问:负载均衡器把请求给负载最小的哪台服务器

我们主要介绍的就是springcloud全家桶中的ribbon,因为目前的开发框架中,spring已经成为了必不可少的主力军,而作为全家桶中的一份子,无疑的ribbon是可以很好的接入到spring框架中的。下面我们开始今天的内容:

Ribbon是什么?

  • 一款客户端的负载均衡工具
  • 主要功能:提供客户端的负载均衡算法,提供一系列完整的配置:连接超时,重试等,简单的说就是在配置文件中列出LB(负载均衡)后面的所有机制,ribbon会自动的根据某种规则(随机、轮询… …)去连接机器
  • 我们也可以实现自定义的负载均衡的算法

Ribbon集成
1)目录结构:
在这里插入图片描述
ribbon作为客户端的实现,所以我们只需要修改80项目即可
2)修改pom.xml

	<!-- 添加依赖 -->
	<!-- Eureka依赖 -->
	<dependency>
	    <groupId>org.springframework.cloud</groupId>
	    <artifactId>spring-cloud-starter-eureka</artifactId>
	    <version>1.4.6.RELEASE</version>
	</dependency>
	<!-- Ribbon依赖 -->
	<dependency>
	    <groupId>org.springframework.cloud</groupId>
	    <artifactId>spring-cloud-starter-ribbon</artifactId>
	    <version>1.4.6.RELEASE</version>
	</dependency>

3)修改application.yml

#Eureka 配置
eureka:
  client:
    register-with-eureka: false #不向服务器注册自己
    service-url:
      defaultZone: http://eurekaServer7001.com:7001/eureka/,http://eurekaServer7002.com:7002/eureka/

4)启动类开启eureka

@EnableEurekaClient
public class ConApplication {
  1. 配置Ribbon负载均衡,修改配置类
@Configuration
public class BeanConfig {

    //配置RestTemplate为负载均衡Ribbon
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

}

6)修改请求方式

	//private static final String rest_url = "http://localhost:8081";
    //ribbon实现,请求地址应该是一个变量,及我们注册eureka的服务名称
    private static final String rest_url = "http://peo8081";

至此,ribbon负载均衡(默认策略)就集成成功

源码地址:下载地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小达人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值