栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Cloud之 Ribbon负载均衡 与 服务调用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Cloud之 Ribbon负载均衡 与 服务调用

Ribbon 负载均衡 服务调用
  • 概述
  • Ribbon负载均衡演示
  • Ribbon核心组件IRule
  • Ribbon负载均衡算法
    文章目录
    • Ribbon 负载均衡 服务调用
      • 概述
      • Ribbon负载均衡演示
        • LB(负载均衡)
        • 架构说明
        • POM
        • RestTemplate的作用
      • Ribbon核心组件IRule
        • IRule
        • 负载均衡规则的替换
      • Ribbon负载均衡算法
        • 原理

概述

一句话:Riddon就是 负载均衡+RestTemplate调用

Ribbon负载均衡演示
LB(负载均衡)

集中式LB

进程内LB

架构说明

总结:Ribbon其实就是一个软负载均衡的客户端软件,可以和其他所需请求的客户端结合使用,和eureka结合只是其中一个实例。

POM

RestTemplate的作用
  • getForObject方法/getForEntity方法

  • postForObject/postForEntity

Ribbon核心组件IRule
IRule

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

自带的 负载均衡规则 方法:

负载均衡规则的替换
  1. 修改cloud-consumer-order80

  2. 注意配置细节

    @ComponentScan位于SpringBoot主启动类上,所以要跳出主启动类的所在包,另建新包

  3. 新建package

  4. 包下新建 MySelfRule 规则类

    @Configuration
    public class MySelfRule {
    
        @Bean
        public IRule myRule(){
            //定义为随机的负载均衡规则
            return new RandomRule();
        }
    }
    
  5. 著启动类添加@RibbonClient注解

    @SpringBootApplication
    @EnableEurekaClient
    @RibbonClient(name = "CLOUD-PAYMENT-SERVER",configuration = MySelfRule.class)
    public class CloudConsumerOrder80Application {
    
        public static void main(String[] args) {
            SpringApplication.run(CloudConsumerOrder80Application.class, args);
        }
    }
    
  6. 测试

    先后启动 Eureka Server7001、7002

    ​ payment8001、8002,ConsumerOrder80

    访问:http://localhost/consumer/pay/get/1

    连续访问,查看端口号的变化,不再是单纯的 轮询方式,证明负载均衡方式随机改变

Ribbon负载均衡算法
原理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888739.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号