分布式任务调度一些技术点
所属分类 architecture
浏览量 684
jdk 延迟队列 DelayQueue
内存里 丢数据
解决方法 持久化 存到数据库
ScheduledThreadPoolExecutor
如何高效的从数据库读取任务
任务id 递增 ,根据id 来增量捞任务
如何 分布式
集群选一个主节点 分发任务 给工作节点执行
主节点 controller
工作节点 worker
controller worker 需要知道彼此的存在 ip 端口
选举 高可用
故障切换
健康检查 心跳机制
controller挂了 选举新的
worker 挂了 controller能感知到 任务调度到其他节点
可 基于 分布式锁 实现 选举
如何并发执行任务 且保证局部有序
参考 kafka等的分区机制
分区内 有序执行
不同的分区并发执行
任务分区可自定义
一个用户 依次 发生 下单 支付 确认收货 等事件
任务 根据 用户id 分区 , 同一个用户的任务 在同一个分区里 ,顺序执行
延迟队列原理及使用场景
ScheduledThreadPoolExecutor使用介绍
上一篇
下一篇
分布式任务调度框架Temporal介绍
Temporal 架构简介
Temporal 本地环境搭建及测试
docker 部署 MySQL
temporal部署连接外部的postgres
使用 Dockerfile 构建 gohttphello server 镜像