首页 > 数据库 > 数据库开发技术 > 分布式调度系统剖析与实践




服务管理平台SDK
服务管理平台SDK
服务状态维护
配置数据同步
监控数据同步
指令数据下发
流量计数器
统计任务
落地任务
流量控制
告警
服务方管理
调用方管理
关系管理
配置管理
流量视图
质量视图
服务降级
服务熔断
流程工单
告警管理


统计模块
流量把控
质量与监控:
计数器
统计任务
落地任务
监控报表
管理平台:
服务管理
调用管理
关系管理
工单管理
配置管理
控制中心:
服务状态维护
配置数据同步
监控指令发送
WCache:高速缓存
MySQL:业务模型、统计数据
ESB:解耦消息



分布式调度系统
分布式调度系统剖析与实






调度中心
作为核心控制节点,负责协调和调度各个执行器的操作。
执行器A
执行器B
执行器C
执行器D
执行器E
在中心化架构中,各个执行器(A、B、C、D、E)通过调度中心进行协调和管理,调度中心是系统的核心部分。
调度-执行器A
调度-执行器B
调度-执行器C
调度-执行器D
调度-执行器E
在去中心化架构中,每个执行器(A、B、C、D、E)都包含调度功能,彼此之间可以独立运作,不依赖于一个中心节点来进行调度和管理。
中心化架构:依赖于一个核心调度中心来管理和协调所有执行器。
去中心化架构:每个执行器都具有调度功能,系统更具弹性和独立性,不依赖单点控制。






应用级别资源管理:
可以控制一个应用同时运行的最大任务数量,防止资源过度占用。
任务优先级队列:
通过任务优先级实现类似于 Yarn 的任务调度。高优先级任务会抢占低优先级任务的资源,从而优先执行高优先级任务。
超过并发数的任务在队列中等待,按优先级顺序调度。
扩展 Elastic-Job 的支持范围,增加对 Kubernetes (K8s) 的支持,而不仅限于 Mesos。Kubernetes 是目前流行的容器编排工具,扩展对其支持能更好地满足现代应用部署和管理需求。
资源利用率最大化:
优化集群资源的使用,使得资源利用率达到最大化。
资源等待时间最小化:
每个任务的资源等待时间最小化,提升任务调度和执行效率。
分组控制资源配额:
能分组控制资源分配和使用,灵活管理资源。
支持临时紧急任务:
能支持临时的紧急任务,确保在需要时可以快速响应和处理。
Elastic-Job 的未来发展方向包括:
提升资源管理和任务调度的智能化和灵活性。
扩展对 Kubernetes 的支持,提升适应性和兼容性。
最大化集群资源利用率,优化资源等待时间,并能支持分组管理和临时紧急任务。
原文作者:二进制跳动;如有侵权,请联系管理员删除。