zoukankan      html  css  js  c++  java
  • Ribbon 负载均衡

    一、是什么
      Spring Cloud Ribbon 是基于 Netfix Ribbon 实现的一套客户端(服务的消费者)负载均衡的工具

    二、用法

    服务消费者工程的 pom.xml 添加如下内容

    <!-- Ribbon相关 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

     服务消费者工程的 application.yml 

    eureka:
      client:
        register-with-eureka: false
        service-url: 
          defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/  #连接 Eureka 集群

    配置类 配置 RestTemplate,加上 @LoadBalanced 注解

    @Configuration
    public class ConfigBean 
    {
        @Bean
        @LoadBalanced //客户端的负载均衡
        public RestTemplate geRestTemplate() 
        {
            return new RestTemplate();
        }
    }

     结论

    Ribbon 和 Eureka 整合后,Consumer 可以直接通过微服务名调用微服务,而不需要关心地址和端口号

     

     三、Ribbon 核心组件 IRule(Ribbon 默认算法的是轮询,一个挨一个)

    IRule:根据特定算法从服务列表中选取一个访问服务

  • 相关阅读:
    多线程
    Java命令行传参
    IO流
    集合
    Java基础语法
    常见的数据结构
    泛型
    java 集合重要概念 (Set 的存储内存解析)
    java 集合重要概念 (== 和 equals 解读)
    java 集合重要概念 (实现一个简单的斗地主)
  • 原文地址:https://www.cnblogs.com/fangwu/p/8979568.html
Copyright © 2011-2022 走看看