Java Chassis 3:接口维度负载均衡

本文分享自华为云社区《Java Chassis 3技术解密:接口维度负载均衡》,作者: liubao68。

Java Chassis 3技术解密:接口维度负载均衡

在Java Chassis 3技术解密:负载均衡选择器中解密了Java Chassis 3负载均衡在解决性能方面提供的算法。这次解密的技术来源于实际客户案例:

在客户的微服务系统中,存在很多种不同逻辑的接口,以及特殊的访问模式,经常会出现部分实例线程池排队严重,而其他实例负载不高的负载不均衡现象。比如:微服务A访问微服务B,微服务B存在B1、B2两个实例,OP1、OP2两个接口,其中OP1处理比较耗时,占用较多CPU时间,OP2处理较快。微服务A的业务逻辑会以OP1、OP2、OP1、OP2…这样的访问模式调用微服务B。客户系统会经常出现OP1全部访问B1、OP2全部访问B2的现象。

产生这个问题的原因是Round Robin算法根据请求顺序来分配实例,而未差异化考虑不同请求的均衡要求。解决这个问题最简单直接的思路是使用Random算法,但是在进行负载均衡算法选择的时候,可预期性对于问题定位、问题分析、问题规避等都有非常大的便利,因此Round Robin算法仍然是缺省的最优选择。

Java Chassis 3的解决方案是提供接口维度的负载均衡。

默认场景,Java Chassis为每个契约(Schema)创建一个负载均衡,如果OP1和OP2分别属于UserService和LoginService,那么在上述示例的场景中,开发者不需要做任何配置,流量会自动实现均衡。

如果OP1和OP2都属于LoginService,并且需要保证OP1的流量均衡,可以通过配置:

servicecomb.loadbalance.${微服务B}.${契约名称}.${接口名称}.strategy.name=RoundRobin

比如:

servicecomb.loadbalance.B.LoginService.login.strategy.name=RoundRobin

给耗时请求OP1(login)设置不同的负载均衡。

进一步讨论

从上述负载均衡的原理可以看出,假设微服务X会访问M个微服务,每个微服务平均有N个契约,那么X会创建M * N的负载均衡。对于大多数系统,这个数量级都在1K以内。一般的,只需要对于耗时的接口分配独立的负载均衡,以保证耗时请求的流量均衡。除了解决流量均衡问题,Java Chassis的配置方法,还可以针对其他特殊场景提供非常简洁的配置方案,比如可以通过配置:

servicecomb.loadbalance.${微服务B}.${契约名称}.${接口名称}.strategy.name=SessionStickiness

为具体的接口指定会话粘滞策略。

总结

Java Chassis 3通过接口维度负载均衡的策略设置,为不同的应用场景提供了非常强大的负载均衡管理能力,帮助解决负载不均衡、会话粘滞等应用负载问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632519.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

社交媒体数据恢复:事秘达

社交软件-事秘达的数据恢复教程如下: 首先,你需要停止使用事秘达应用,以避免覆盖已经删除的数据。 接着,你需要连接你的手机到电脑上,并打开手机的USB调试功能。这可以让电脑读取你手机的数据。 下载并安装一个数据恢…

重生奇迹MU快速获取经验解析

重生奇迹MU觉醒卡级怎么办快速获取经验攻略,在游戏中卡级是玩家会遇到的情况之一,面对打不过的敌人和过不去的主线,想办法升级才是最主要的,游戏中有很多获取经验的途径。下面让我们一起来了解一下卡级后获取经验的攻略&#xff0…

PatterNodes 3 mac矢量图设计 ,色彩与图案的完美融合!

PatterNodes 3 for Mac是一款功能强大的矢量图形模式创建软件,专为Mac用户设计。它采用基于节点的界面,支持创建形状、线条、曲线或文本,以构建复杂的矢量图形模式。该软件还具备灵活的参数调整功能,允许用户实时预览结果并进行无…

PLCnext用三种方式去编写一个功能块

先前提到的基于eCLR,PLCnext可以通过几种高级语言编写功能块、函数、等等,今天我们来试一下利用IEC61131、C、C#去制作加法功能块。 1.准备工具 PLCnext Engineer & 1152 Simulator PLCnext Engineer是上位编程软件,免费,11…

通俗易懂的策略模式讲解

什么是策略模式? 策略模式是一种设计模式,它允许你定义一系列的算法(策略),并将每个算法封装成一个对象。这样,你可以轻松地切换不同的算法,而不需要改变原始代码。 一个简单的例子 假设你是…

ACM实训冲刺第八天

【碎碎念】由于昨天做的题都有思路,加上今天有点疲惫,故今天先不复习了,直接开始今天的算法学习 Tokitsukaze and All Zero Sequence 问题 思路 读入测试用例数:首先读取一个整数t,表示接下来会有t组数据需要处理。遍…

【达梦数据库】搭建 DM->mysql dblink

DM->mysql dblink 1安装mysql odbc rpm -ivh mysql-connector-odbc-5.3.14-1.el7.x86_64.rpm2mysql创建远程用户与远程数据库 mysql> show databases; ------------------------- | Database | ------------------------- | information_schema | …

【Linux系统编程】第十九弹---进程状态(下)

​​​​​​​ ✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、僵尸进程 2、孤儿进程 3、运行状态 4、阻塞状态 5、挂起状态 6、进程切换 总结 1、僵尸进程 上一弹…

OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL

市面上关于终端(手机)操作系统在 3GPP 协议开发的内容太少了,即使 Android 相关的学习文档都很少,Android 协议开发书籍我是没有见过的。可能是市场需求的缘故吧,现在市场上还是前后端软件开发从业人员最多&#xff0c…

【Open AI】GPT-4o深夜发布:视觉、听觉跨越式升级

北京时间5月14日1点整,OpenAI 召开了首场春季发布会,CTO Mira Murati 在台上和团队用短短不到30分钟的时间,揭开了最新旗舰模型 GPT-4o 的神秘面纱,以及基于 GPT-4o 的 ChatGPT,均为免费使用。 本文内容来自OpenAI网站…

微服务架构:注册中心 Eureka、ZooKeeper、Consul、Nacos的选型对比详解

微服务架构(Microservices Architecture)是一种基于服务拆分的分布式架构模式,旨在将复杂的单体应用程序拆分为一组更小、更独立的服务单元。这些服务单元可以独立开发、测试、部署,并使用不同的技术栈和编程语言。它们通过轻量级…

外贸业务中的12个“坑”,你踩到了吗?

在竞争激烈的外贸领域,企业在拓展市场的同时,也面临着各种潜在的陷阱和风险。对于外贸公司而言,如何在复杂的交易过程中识破陷阱,防范潜在风险,成为确保企业长远发展的关键一环。 以下是一些外贸企业可能遇到的陷阱&a…

Nebula街机模拟器 Mac移植版(400+游戏roms)汉化版

nebula星云模拟器是电脑上最热门的街机游戏模拟器之一,玩家可以通过这个小巧的模拟器软件进行多款经典街机游戏启动和畅玩,本次移植的包含400多款游戏roms,经典的三国志、三国战纪、拳皇、街霸、合金弹头、1941都包含在内。 下载地址&#xf…

电感式传感器

电感传感器是基于电磁感应原理,将被测非电量(如位移、压力、振动等)转换为电感量变化的一种结构性传感器。利用自感原理的有自感式传感器(可变磁阻式),利用互感原理的有互感式(差动变压器式和涡…

aigc在前端中的应用-CodeGeex

前言:目前市场上优秀的智能编程助手有很多,其中以GitHub Copilot,Tabnine为最,但是目前这两款优质的智能编程助手都是需要付费的。如果不选择花费的话,在这里我们向小伙伴推荐免费的智能编程助手codegeex,性…

嵌入式——AStyle格式化工具

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 keil配置快捷键配置 AStyle(Artistic Style)是一个开源的代码自动格式化工具,可以用于自动化代…

## 23 使用BERT进行文本分类:PyTorch实战指南

文章目录 前言理解BERTPyTorch环境搭建数据准备模型建立训练模型模型评估与应用结论 前言 文本分类是自然语言处理(NLP)领域的一项基本任务,它的目的是将一个文本序列指派到一个或多个类别中。这项技术被广泛应用于垃圾邮件检测、情感分析、…

月薪20K+的策划人简历应该怎么写?

一般咱们大多数策划在写简历前,都是先直接找模板,然后按照模板的框架直接往里面填内容。 最后草草收场,直接拿去海投简历,结果发现没有拿到任何面试邀约。 策划写简历前的第一件事要梳理自己的能力模型和岗位JD。 因为只有先梳…

做DFMEA最难点,功能分析如何做?——FMEA软件

​免费试用FMEA软件-免费版-SunFMEADFMEA,即设计失效模式与影响分析,是一种在产品设计阶段就预见并预防潜在失效模式的重要工具。然而,在DFMEA的众多步骤中,功能分析无疑是其中的一大难点。它要求我们深入理解产品的各个系统、部件…

Excel 计算多个日期区间的交集中的工作日数

Excel表格有多对起止时间形成了区间组,如B3:C3共12组时间区间 ABCDEF12Ramadan StartsRamadan Ends323-Apr-2022-May-20Date11-Apr-24412-Apr-2111-May-21Date212-Apr-2452-Apr-221-May-22Expected6622-Mar-2320-Apr-23Caculated710-Mar-248-Apr-24828-Feb-2529-Ma…