首页  

分布式任务调度一些技术点     所属分类 architecture 浏览量 690
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 镜像