分布式调度框架学习笔记

一、分布式调度框架的基本设计

二、线程池线程数量设置的基本逻辑

cpu是分时复用的方法,线程是cpu调度的最小单元

如果当前cpu核数是n,计算密集型线程数一般设为n,io密集型(包括磁盘io和网络io)线程数一般设置为2n.

计算密集型线程数一般设为n的逻辑解释:

io密集型(包括磁盘io和网络io)线程数一般设置为2n的逻辑解释:

三、xxljob为什设置的线程是100,200?

四、power-job的无锁化设计

1. 任务分片

设计理念:在分布式环境中,任务通常被分成多个子任务(分片)并行执行。无锁化设计通过减少对共享资源的竞争来提高并发性能

实现方式:PowerJob 通过将任务分片分配给不同的执行节点,避免了多个节点对同一资源的竞争,从而减少了锁的使用。

2. 去中心化调度

设计理念:去中心化调度意味着调度决策不依赖于单一的中心节点,从而避免了中心节点的性能瓶颈和单点故障。

实现方式:PowerJob 采用去中心化的调度策略,允许各个节点独立地进行任务调度和执行,减少了对中心节点的依赖。

3. 无状态设计

设计理念:无状态设计意味着每个节点不依赖于其他节点的状态信息,从而减少了锁的使用。

实现方式:PowerJob 的节点设计为无状态,任务的状态信息存储在外部持久化存储中(如数据库),节点通过查询持久化存储来获取任务状态。

五、分布式调度框架对比


ElasticJob相对xxl-job和power-job的对比:

备注:

推荐课程:

【分布式调度中心power-job中固定延迟任务调度问题】https://www.bilibili.com/video/BV1Qb421B7n8?vd_source=3c00905b4271effeeee3f3184045c49b

相关推荐
hsjiasb8 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
小弥儿8 小时前
GitHub今日热榜 | 2026-08-16:大模型微调与编码工具扎堆
学习·开源·github
2501_926978339 小时前
AGI 的四种瓶颈:资源型还是发现型--以及DSH的位置
人工智能·经验分享·笔记·ai写作
liuqs33210 小时前
nat123安卓和nat123全端口选型指南,映射工具怎么挑
网络·笔记
xian_wwq11 小时前
【学习笔记】光伏“四可”装置纵密模块--配置方法和原理
笔记·学习
min(a,b)11 小时前
学习第17天:Agent Memory 与 MCP 协议
python·学习
lifallen12 小时前
模型不是函数:claude-cookbooks/misc 十四篇的公共底层
人工智能·学习·ai·ai编程
lucky_syq14 小时前
第5篇 · S1·下:前沿架构:MoE、Reasoning 模型、长上下文、多模态、SSM/Mamba 与模型谱系
人工智能·学习·架构
日拱一卒的小田14 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
不会代码的小猴15 小时前
C++新增关键字
开发语言·c++·笔记