基于GO语言实现一个分布式定时任务
LcyCoinEleP
一名兴趣使然的小开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于GO语言实现分布式定时任务学习(五)---- worker 代码开发与实现
worker 功能点获取ETCD中,被master写入的cmd任务;根据corn表达式,确定任务调度列表;根据任务列表,进行任务执行;对Job做分布式锁,防止集群并发调用。执行日志存储;worker 启动同master ( init args(flags解析) -> init config -> init job(etcd) ) //todo master 连接worker 功能实现解释:worker中的JobMgr负责向etcd进行任务监听,当其监听到任务后,根据原创 2020-05-26 23:42:19 · 1788 阅读 · 0 评论 -
基于GO语言实现分布式定时任务学习(四)---- master 代码开发与实现
master 功能点提供http接口供 任务录入、任务查看、任务强制杀死 等基础功能;提供服务端启动等参数化设置;master 启动master启动需要做到解析配置文件、创建etcd连接交互、创建socket监听形成web服务。配置文件解析:配置文件解析主要包括录入etcd信息、mysql信息、以及服务器端口等,我们把这些信息形成json文件。master.json { "API接口服务端口": "提供任务增删改查服务", "apiPort": 8070,原创 2020-05-17 20:39:23 · 1825 阅读 · 0 评论 -
基于GO语言实现分布式定时任务学习(二)---- etcd学习笔记并完成分布式乐观锁case
etcd 基础入门:一)etcd 功能介绍数据存储在集群中的高可用K-V存储。允许应用实时监听存储中的K-V变化。可以容忍单点故障,并支持网络分区。在传统的存储模型中:如果存储节点是单点存储,呢么遇到宕机,即刻不可用;如果是主从架构,当主库不可用的使用,虽然可以继续基于从库来读,单主从同步时延容忍度又是新的问题。etcd 基于抽屉理论来解决该点,所谓的抽屉理论指:假如我们有一个30人的班级,我将一个秘密告诉其中的16位同学,呢么随便挑选16个同学中,必然有一个是知道我秘密的原创 2020-05-12 21:51:33 · 1502 阅读 · 0 评论 -
基于GO语言实现分布式定时任务学习(一)----cmd 指令、cron表达式
基于GO语言实现分布式定时任务学习(一)----cmd 指令import ( "fmt" "os/exec")func main() { var ( command *exec.Cmd combinedOutput []byte err error ) command = exec.Command("/bin/bash", "-c", "echo 1 ; echo 2;") if combinedOutput, err = comma原创 2020-05-10 23:37:37 · 2264 阅读 · 0 评论
分享