SpringCloud - Ribbon负载均衡

news/2024/11/15 6:45:35/

目录

负载均衡流程

负载均衡策略

Ribbon加载策略


  • 负载均衡流程

  • Ribbon将http://userservice/user/1请求拦截下来,帮忙找到真实地址http://localhost:8081
  • LoadBalancerInterceptor类对RestTemplate的请求进行拦截,然后从Eureka根据服务id获取服务列表,随后利用负载均衡算法得到真实的服务地址信息,替换服务id;即根据service名称,获取到了服务实例的ip和端口

  • 负载均衡策略

  • IRule决定负载均衡策略:轮询调度,随机规则,重试规则
  • 负载均衡的规则都定义在IRule接口中,IRule的实现类:

  • 默认的实现就是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询,是一种轮询方案
  • 自定义负载均衡策略
  • 1.在order-service启动类中,定义一个新的IRule(所有服务都生效)
  • 配置灵活,但修改时需要重新打包发布

  • 2.在order-service的配置文件中修改负载均衡规则(只有当前服务生效)
  • 直观方便,无需重新打包发布,但是无法全局配置

  • Ribbon加载策略

  • Ribbon默认是采用懒加载,即第一次访问时才会去创建LoadBalanceClient,请求时间会很长
  • 饥饿加载则会在项目启动时创建,降低第一次访问的耗时,配置开启饥饿加载


http://www.ppmy.cn/news/26288.html

相关文章

笔试题(十五):身高体重排序

# 身高从低到高&#xff0c;身高相同体重从轻到重&#xff0c;体重相同维持原来顺序。 import numpy as npdef sort_hw(n, height, weight):args np.array(np.argsort(height))i 0tmp height[args[0]] # 记录新值tmp_w [weight[args[0]]]args_w np.array([0])while i <…

面试题记录

Set与Map的区别 map是键值对&#xff0c;set是值的集合。键&#xff0c;值可以是任何类型map可以通过get获取&#xff0c;map不能。都能通过迭代器进行for…of遍历set的值是唯一的&#xff0c;可以做数组去重&#xff0c;map&#xff0c;没有格式限制&#xff0c;可以存储数据…

用记事本实现“HelloWorld”输出

【在进行以下操作前需要下载好JDK并配置好对应的环境变量】 一、在任意文件夹中创建一个新的文本文档文件并写入以下代码 public class Hello{public static void main (String[] args){System.out.print("Hello,World!");} } 二、修改文件名称及文件类型为 Hello.j…

元数据管理 1

1、关于元数据管理原则说法正确的是 (知识点: 三月份模拟题)A.确保员工了解如何访问和使用元数据。B.制定、实施和审核元数据标准&#xff0c;以简化元数据的集成和使用。C.创建反馈机制&#xff0c;以便数据使用者可以将错误或过时的元数据反馈给元数据管理团队。D.以上都对正…

【Linux】用户分类+权限管理+umask+粘滞位说明

目录 1.用户分类 su指令 2.认识Linux权限 2.1 文件访问者的分类 2.2 文件类型和访问权限 a. 文件类型 file指令 b. 访问权限 2.3 文件权值的表示方法 a. 字母表示法 b. 八进制表示法 3.如何修改文件访问者的权限及相关指令 1. chmod指令 2. chown指令 3. chgrp指…

1.1操作系统的特征

文章目录操作系统的4大特征1 操作系统的并发性&#xff08;Concurrence&#xff09;2 操作系统的共享性&#xff08;Sharing&#xff09;3 并发和共享互为存在条件4 操作系统的虚拟性&#xff08;Virtual&#xff09;5 操作系统的异步性&#xff08;Asynchronism&#xff09;操…

程序员必备的软技能-《如何阅读一本书》

阅读很重要&#xff0c;我们真的会阅读吗&#xff1f; 这本书的初版是 1940年&#xff0c;时隔 80年&#xff0c;其内容仍然不过时。第一次读这本书时&#xff0c;给我最大的影响就是主题阅读&#xff0c;每次学习一个新理论、技术&#xff0c;都入手多本关于这项理论、技术的书…

【opencv源码解析0.3】调试opencv源码的两种方式

调试opencv源码的两种方式 上两篇我们分别讲了如何配置opencv环境&#xff0c;以及如何编译opencv源码方便我们阅读。但我们还是无法调试我们的代码&#xff0c;无法以我们的程序作为入口来一步一步单点调试看opencv是如何执行的。 【opencv源码解析0.1】VS如何优雅的配置ope…