微服务篇之负载均衡
一、Ribbon负载均衡流程

二、Ribbon负载均衡策略
1. RoundRobinRule:简单轮询服务列表来选择服务器。
2. WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小。
3. RandomRule:随机选择一个可用的服务器。
4. BestAvailableRule:忽略那些短路的服务器,并选择并发数较低的服务器。
5. RetryRule:重试机制的选择逻辑。
6. AvailabilityFilteringRule:可用性敏感策略,先过滤非健康的,再选择连接数较小的实例。
7. ZoneAvoidanceRule:以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询。
三、自定义负载均衡策略
可以自己创建类实现IRule接口 , 然后再通过配置类或者配置文件配置即可 ,通过定义IRule实现可以修改负载均衡规则,有两种方式:

四、面试题及回答
面试官:你们项目负载均衡如何实现的 ?
候选人:在服务调用过程中的负载均衡一般使用SpringCloud的Ribbon 组件实现 , Feign的底层已经自动集成了Ribbon , 使用起来非常简单。当发起远程调用时,ribbon先从注册中心拉取服务地址列表,然后按照一定的路由策略选择一个发起远程调用,一般的调用策略是轮询。
面试官:Ribbon负载均衡策略有哪些 ?
候选人:我想想啊,有很多种,我记得几个:
-
RoundRobinRule:简单轮询服务列表来选择服务器。
-
WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小。
-
RandomRule:随机选择一个可用的服务器。
-
ZoneAvoidanceRule:区域敏感策略,以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询(默认)。
面试官:如果想自定义负载均衡策略如何实现 ?
候选人:提供了两种方式:
1. 创建类实现IRule接口,可以指定负载均衡策略,这个是全局的,对所有的远程调用都起作用。
2. 在客户端的配置文件中,可以配置某一个服务调用的负载均衡策略,只是对配置的这个服务生效远程调用。
相关文章:
微服务篇之负载均衡
一、Ribbon负载均衡流程 二、Ribbon负载均衡策略 1. RoundRobinRule:简单轮询服务列表来选择服务器。 2. WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小。 3. RandomRule:随机选择一个可用的服…...
wayland(xdg_wm_base) + egl + opengles 使用FBO渲染到纹理实例(六)
文章目录 前言一、FBO介绍1. FBO 简介2. FBO的关键组成部分3. FBO的基本工作流程4. FBO 实现渲染到纹理5. FBO 实现离屏渲染二、FBO 实现渲染到纹理的代码实例1. egl_wayland_texture3_2.c2. xdg-shell-client-protocol.h 和 xdg-shell-protocol.c3. 编译4. 运行总结参考资料前…...
基于 RisingWave、Instaclustr 和 Apache Superset 对维基百科实时监控
得益于 RisingWave 和 Kafka 等流处理工具, 数据工程师能实时洞察流数据中的重要信息。这能够助力制定决策,并在多个层面改善用户体验,包括推荐系统、金融、物流、汽车、制造业、 IIOT 设备和零售。 在这篇博客中,我们会把 Risin…...
建站用帝国CMS好还是WordPress好
随着互联网的迅猛发展,内容管理系统(CMS)在网站建设中扮演着越来越重要的角色。在众多CMS中,帝国CMS和WordPress因其强大的功能和广泛的用户基础而备受关注。本文将对这两种CMS进行详细比较,分析它们的优势与不足,以便用户能够根据…...
深度学习基础之《TensorFlow框架(2)—图》
一、什么是图结构 1、图包含了一组tf.Operation代表的计算单元对象和tf.Tensor代表的计算单元之间流动的数据 图结构:数据(Tensor) 操作(Operation) 二、图相关操作 1、默认图 通常TensorFlow会默认帮我们创建一张图 查看默认图的两种方法: &#x…...
Web3区块链游戏:创造虚拟世界的全新体验
随着区块链技术的不断发展,Web3区块链游戏正逐渐崭露头角,为玩家带来了全新的虚拟世界体验。传统游戏中的中心化结构和封闭经济体系已经被打破,取而代之的是去中心化的游戏环境和真实所有权的数字资产。本文将深入探讨Web3区块链游戏的特点、…...
单机启动/开机启动SpringBoot服务的正确方式
此操作只针对于测试环境或单机部署的情况下,使用Jenkins自动化部署或docker部署SpringBoot服务请忽略。 SpringBoot单机启动和集群启动的区别: 部署方式:单机启动可以直接运行jar文件或使用IDE启动应用程序,而双机集群启动需要将…...
[C#]winform基于opencvsharp结合CSRNet算法实现低光图像增强黑暗图片变亮变清晰
【算法介绍】 "Conditional Sequential Modulation for Efficient Global Image Retouching" 是一种图像修饰方法,主要用于对图像进行全局的高效调整。该方法基于深度学习技术,通过引入条件向量来实现对图像特征的调制,以达到改善…...
抓包分析 TCP 协议
TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddler,charles&…...
代码随想录算法训练营day27 | 93.复原IP地址、78.子集、90.子集II
93.复原IP地址 和C不同,使用列表存储已经分割的数据,而不是直接操作字符串。为了使用这个列表搞了老久,主要问题出在,在判断终止条件的时候,path也需要回溯一下 class Solution:def __init__(self):self.result []s…...
RuntimeError: CUDA out of memory.【多种场景下的解决方案】
RuntimeError: CUDA out of memory.【多种场景下的解决方案】 🌈 个人主页:高斯小哥 🔥 高质量专栏:【Matplotlib之旅:零基础精通数据可视化】 🏆🏆关注博主,随时获取更多关于深度学…...
LeetCode刷题| Leetcode 45. 跳跃游戏,1190. 反转每对括号间的子串,781. 森林中的兔子,739. 每日温度
45. 跳跃游戏 题目链接: 45. 跳跃游戏 II - 力扣(LeetCode) 思路:这道题思路不难记,遍历数组每个位置,更新下一次的范围,当当前位置已经在当前范围之外时,步数一定得加一ÿ…...
Redis(03)——发布订阅
基础命令 基于频道 publish channel message:将信号发送到指定的频道pubsub subcommand [argument [argyment]]:查看订阅或发布系统状态subscribe channel [channel]:订阅一个或多个频道的信息unsubscribe [channel [channel]]:退…...
⭐北邮复试刷题LCR 034. 验证外星语词典__哈希思想 (力扣119经典题变种挑战)
LCR 034. 验证外星语词典 某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外…...
ECMAScript 6+ 新特性 ( 二 )
2.12. class类 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。 ES6 的 class 可以看作只是一个语法糖,它的绝大部分功能ES5 都可以做到&…...
JS游戏项目合集【附源码】
文章目录 一:迷宫小游戏二:俄罗斯方块三:压扁小鸟 一:迷宫小游戏 【迷宫游戏】是一款基于HTML5技术开发的游戏,玩法简单。玩家需要在一个迷宫中找到出口并成功逃脱,本项目还有自动寻路(Track&a…...
React中hooks使用限制及保存函数组件状态
React Hooks 的限制主要有两条: 不要在循环、条件或嵌套函数中调用 Hook; 在 React 的函数组件中调用 Hook。 首先,Hooks是一个对象,大致结构如下: const hook: Hook {memoizedState: null,baseState: null,baseQ…...
用git命令来上传项目到GitHub我自己的仓库
目录 在GitHub上创建仓库并使用git命令上传到仓库的步骤如下: 其他操作 怎么退出git/COMMIT_EDITMSG [unix] 相关报错 error: src refspec main does not match any error: failed to push some refs to https://github.com/Liu22Jun16Liang/MyQt error: fail…...
.NET有哪些微服务框架
1.概述 想要对.net的微服务方案进行一下调查,看有什么可选的方案和框架,与spring clound相比.net 创建微服务是相对较麻烦的。 ID名称说明1Service FabricSteeltoe是帮助.NET开发的服务接入Spring Cloud技术栈的官方支持工具。也就是说,微服…...
uniapp中打开蓝牙需要哪些权限
在uniApp中进行蓝牙连接,需要获取以下权限: 蓝牙权限:用于扫描和连接蓝牙设备。定位权限:用于获取设备的位置信息,以便确定设备与蓝牙设备之间的距离。存储权限:用于读取和写入与蓝牙设备相关的数据。 获…...
MQTTClient技术深度解析:嵌入式物联网通信的高性能解决方案
MQTTClient技术深度解析:嵌入式物联网通信的高性能解决方案 【免费下载链接】mqttclient A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread …...
hoverboard-firmware-hack-FOC终极兼容性指南:STM32F103RCT6与GD32F103RCT6深度对比
hoverboard-firmware-hack-FOC终极兼容性指南:STM32F103RCT6与GD32F103RCT6深度对比 【免费下载链接】hoverboard-firmware-hack-FOC With Field Oriented Control (FOC) 项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC 想…...
Balena Etcher:3步搞定镜像烧录,告别传统工具烦恼
Balena Etcher:3步搞定镜像烧录,告别传统工具烦恼 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾为制作启动盘而烦恼࿱…...
网站收录提速:蜘蛛池合规使用与安全运营技巧
网站长期收录缓慢、新内容更新难以被发现、深层页面缺少展示机会,是多数中小站点运营的常见难题。在正规网站优化体系中,蜘蛛池是优质的辅助运营工具,核心作用是帮助搜索引擎快速识别站点优质页面,提升整体检索效率,改…...
Cadence AMS数模混合仿真保姆级教程:从Virtuoso环境搭建到仿真加速全流程
Cadence AMS数模混合仿真实战指南:从环境配置到性能调优 数模混合仿真在现代集成电路设计中扮演着关键角色,它打破了传统数字与模拟设计之间的壁垒,让工程师能够在统一环境中验证复杂SoC的系统级行为。Cadence AMS Designer作为行业标杆工具&…...
C#与Unity 3D构建100ms级工业数字孪生系统
1. 这不是“3D大屏”,而是产线工控级实时映射“数字孪生监控”这六个字,现在被贴在太多PPT封面上了——三维建模、粒子特效、旋转飞入的UI动效,配上“智能决策”“预测性维护”的标语,看起来很美。但真正跑在车间里的产线监控系统…...
python文化旅游服务系统 小程序系统
目录同行可拿货,招校园代理 ,本人源头供货商项目概述核心功能技术栈项目亮点应用场景项目技术支持源码获取详细视频演示 :同行可合作点击我获取源码->->进我个人主页-->获取博主联系方式同行可拿货,招校园代理 ,本人源头供货商 项目概述 Python文化旅游服…...
深入解析TI C6474多核DSP架构:从硬件设计到并行编程实战
1. 项目概述:从单核到多核的必然演进在嵌入式信号处理领域,德州仪器(TI)的TMS320系列DSP一直是高性能、高可靠性的代名词。我接触TI DSP超过十年,从早期的C5000系列到后来的C6000系列,亲眼见证了其从单核、…...
全球眼用缓释药市场调查:预计2032年将攀升至25.46亿美元
在全球人口老龄化加速与慢性眼病患病率持续攀升的背景下,眼用缓释药市场正迎来历史性增长窗口。据QYResearch(北京恒州博智国际信息咨询有限公司)最新统计,2025年全球眼用缓释药市场销售额已达15.00亿美元,预计2032年将…...
2026破圈!5款AI论文工具实测,摆脱无效加班,初稿质量效率翻倍
对于学生、科研工作者而言,论文写作往往面临诸多挑战:文献资料筛选耗时冗长、格式排版反复调整、查重率难以精准控制、研究逻辑梳理不够清晰,这些痛点严重制约了写作效率与学术成果的规范性。随着2026年AI技术的持续突破,各类AI论…...
