当前位置: 首页 > news >正文

分布式调度框架学习笔记

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

在这里插入图片描述

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

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

http://www.lryc.cn/news/509948.html

相关文章:

  • SpringCloudAlibaba技术栈-Nacos
  • Redis篇--常见问题篇4--大Key(Big Key,什么是大Key,影响及使用建议)
  • 谷歌浏览器 Chrome 提示:此扩展程序可能很快将不再受支持
  • WebRTC服务质量(10)- Pacer机制(02) RoundRobinPacketQueue
  • 数据库的数据被清除了,该如何恢复?
  • 【西安电子科技大学考研】25官方复试专业课参考书目汇总
  • 【理解机器学习中的过拟合与欠拟合】
  • fastjson诡异报错
  • 面经zhenyq
  • GoFrame框架介绍
  • MapReduce工作流程+Shuffle机制
  • JAVA8 Stream API 使用详解
  • Redis 集群架构:高可用与扩展性
  • Redis数据对象
  • Docker部署GitLab服务器
  • python版本的Selenium的下载及chrome环境搭建和简单使用
  • 重温设计模式--4、组合模式
  • 5、mysql的读写分离
  • uniapp Native.js原生arr插件服务发送广播到uniapp页面中
  • 如何在 Ubuntu 22.04 上安装 Elasticsearch
  • 单片机长耗时前后台任务优化
  • Linux大数据方向shell
  • 爬虫 APP 逆向 ---> shopee(虾皮) 电商
  • axios 常见的content-type、responseType有哪些?
  • 从零开始C++游戏开发之第七篇:游戏状态机与回合管理
  • 【全开源】Java多语言tiktok跨境商城TikTok内嵌商城送搭建教程
  • mac启ssh服务用于快速文件传输
  • 《探索 Apache Spark MLlib 与 Java 结合的卓越之道》
  • 使用 Python 创建多栏 Word 文档 – 详解
  • WebPack3项目升级webpack5的配置调试记录