• 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:根据特定算法从服务列表中选取一个访问服务

  • 相关阅读:
    十六、Redis与MySQL数据双写一致性 —— Canal Demo
    十三、redis分布式锁:缓存续命
    十二、redis分布式锁:单机和多机及案例
    十七、缓存双写一致性之更新策略探讨
    十四、Redis的缓存过期淘汰策略
    自定义类型转换器
    [译]. NET 6 新增API 上
    EF 6 新特性三
    EF 6 新特性二
    [译]. NET 6 新增API 下
  • 原文地址:https://www.cnblogs.com/fangwu/p/8979568.html
Copyright © 2020-2023  润新知