登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
吃透 DolphinScheduler 负载均衡:3 大核心算法 + 底层 ...
吃透 DolphinScheduler 负载均衡:3 大核心算法 + 底层逻辑全解析
[ 复制链接 ]
吁寂
2025-10-15 19:35:07
本文将介绍 Apache DolphinScheduler 的 Worker 负载均衡,含加权随机、平滑轮询、线性负载(默认)三种算法,及配置修改、Worker 权重与预热机制,并细述各算法原理。详情可参考文末源文档地址。
负载均衡是什么?
负载均衡即通过路由算法(通常是集群环境),合理地分摊服务器压力,达到服务器性能的最大优化。
DolphinScheduler-Worker 负载均衡算法
DolphinScheduler-Master 分配任务至 worker,默认提供了三种算法:
加权随机(random)
平滑轮询(roundrobin)
线性负载(lowerweight)
默认配置为线性加权负载。
由于路由是在客户端做的,即 master 服务,因此你可以更改 master.properties 中的 master.host.selector 来配置你所想要的算法。
eg:master.host.selector=random(不区分大小写)
Worker 负载均衡配置
配置文件 worker.properties
权重
上述所有的负载算法都是基于权重来进行加权分配的,权重影响分流结果。你可以在 修改 worker.weight 的值来给不同的机器设置不同的权重。
预热
考虑到 JIT 优化,我们会让 worker 在启动后低功率的运行一段时间,使其逐渐达到最佳状态,这段过程我们称之为预热。感兴趣的同学可以去阅读 JIT 相关的文章。
因此 worker 在启动后,他的权重会随着时间逐渐达到最大(默认十分钟,我们没有提供配置项,如果需要,你可以修改并提交相关的 PR)。
负载均衡算法细述
随机(加权)
该算法比较简单,即在符合的 worker 中随机选取一台(权重会影响他的比重)。
平滑轮询(加权)
加权轮询算法一个明显的缺陷。即在某些特殊的权重下,加权轮询调度会生成不均匀的实例序列,这种不平滑的负载可能会使某些实例出现瞬时高负载的现象,导致系统存在宕机的风险。为了解决这个调度缺陷,我们提供了平滑加权轮询算法。
每台 worker 都有两个权重,即 weight(预热完成后保持不变),current_weight(动态变化),每次路由。都会遍历所有的 worker,使其 current_weight+weight,同时累加所有 worker 的 weight,计为 total_weight,然后挑选 current_weight 最大的作为本次执行任务的 worker,与此同时,将这台 worker 的 current_weight-total_weight。
线性加权(默认算法)
该算法每隔一段时间会向注册中心上报自己的负载信息。我们主要根据CPU使用率、内存使用率以及 worker slot 使用情况来进行判断。
如果任何一个低于配置项,那么这台 worker 将不参与负载。(即不分配流量)
文档链接:https://dolphinscheduler.apache.org/zh-cn/docs/3.3.1/architecture/load-balance
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
吃透
DolphinScheduler
负载
均衡
核心
相关帖子
软件研发的核心问题 -- 效率,质量,成本与产出的关系
【源码解读之 Mybatis】【核心篇】--第5篇:Executor执行器体系详解
用结构化思维解一切BUG(1):核心思路
.NET运行时核心仓库的治理架构解析:责任分配与协作机制
DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问
DolphinScheduler依赖机制、Open-Falcon告警推送与监控的优化实践
初探Kubernetes:核心概念解析
网络连接的核心——TCP/IP体系结构
HarfBuzz 实战:五大核心API 实例详解【附iOS/Swift实战示例】
嵌入式工控机:工业自动化的核心运算单元
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
软件研发的核心问题 -- 效率,质量,成本与产出的关系
0
306
丘奕奕
2025-10-07
业界
【源码解读之 Mybatis】【核心篇】--第5篇:Executor执行器体系详解
2
239
柏雅云
2025-10-09
安全
用结构化思维解一切BUG(1):核心思路
1
1040
骆贵
2025-10-15
业界
.NET运行时核心仓库的治理架构解析:责任分配与协作机制
0
694
常士
2025-10-19
业界
DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问
4
877
伯斌
2025-10-23
安全
DolphinScheduler依赖机制、Open-Falcon告警推送与监控的优化实践
0
807
司寇涵涵
2025-10-23
业界
初探Kubernetes:核心概念解析
0
397
宓碧莹
2025-10-29
业界
网络连接的核心——TCP/IP体系结构
0
653
釉她
2025-10-30
业界
HarfBuzz 实战:五大核心API 实例详解【附iOS/Swift实战示例】
1
915
敞撬
2025-11-01
安全
嵌入式工控机:工业自动化的核心运算单元
0
669
甦忻愉
2025-11-04
回复
(2)
呈步
2025-10-17 20:00:03
回复
使用道具
举报
照妖镜
这个有用。
vip免费申请,1年只需15美金$
锦惺
2025-10-27 08:00:49
回复
使用道具
举报
照妖镜
感谢分享
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
吁寂
2025-10-27 08:00:49
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
xiangqian
641213
5
刎唇
9993
6
荡俊屯
9948
7
匝抽
9986
8
二艰糖
9970
9
宓碧莹
9988
10
终秀敏
9990
查看更多