本门课程中将结合Etcd与MongoDB实现一个基于Master-Worker分布式架构的任务调度系统。你不仅将掌握Golang的工程实践能力,而且会收获诸如CAP、Raft的分布式经典理论与架构经验,”工程能力”与”知识体系”齐头并进,实现华丽质变

1-1课程导学(17:00)

2-1原理介绍(11:55)

2-2执行任务(11:39)

2-3捕获任务输出(08:02)

2-4强制结束任务(13:25)

3-1cron表达式原理(12:42)

3-2开源cron解析库(12:47)

3-3调度多个cron(16:43)

4-1etcd功能与原理(上)(14:04)

4-2etcd功能与原理(下)(15:01)

4-3搭建与连接etcd(14:46)

4-4put写入kv(10:25)

4-5get读取kv(09:27)

4-6get读取目录下所有Kv(04:38)

4-7delete删除kv(09:42)

4-8lease租约实现kv过期(19:16)

4-9watch监听目录变化(19:39)

4-10op取代get,put,delete方法(09:43)

4-11事务txn实现分布式锁(上)(11:37)

4-12事务txn实现分布式锁(下)(12:20)

5-1mongodb简介&基础语法概述(12:16)

5-2mongodb原理概述(14:51)

5-3搭建与连接mongodb(12:23)

5-4InsertOne写入单行记录(14:29)

5-5InsertMany写入多行记录(12:19)

5-6Find查询记录(12:50)

5-7Delete删除记录(11:53)

6-1架构分析(16:21)

6-2master-worker整体架构(03:58)

6-3master功能点与实现思路(06:23)

6-4worker功能点与实现思路(10:22)

7-1创建项目与搭建基本框架(上)(14:26)

7-2创建项目与搭建基本框架(下)(16:18)

7-3jobsave接口开发-保存到etcd(上)(10:02)

7-4jobsave接口开发-保存到etcd(中)(10:24)

7-5jobsave接口开发-保存到etcd(下)(09:40)

7-6jobdelete接口开发:从etcd中删除任务(14:04)

7-7job-list接口开发:从etcd获取所有任务(11:17)

7-8job-kill接口开发:在etcd中标记结束任务(12:14)

7-9http支持静态文件路由(12:43)

7-10利用bootstrap搭建页面骨架(10:36)

7-11ajax获取任务列表并展示(15:31)

7-12实现删除按钮(05:00)

7-13实现强杀与编辑按钮(12:24)

7-14实现新建任务按钮(03:34)

8-1worker功能概述(01:52)

8-2启动后从etcd获取任务列表(11:01)

8-3监听etcd中任务变化(16:13)

8-4实现任务调度协程(上)(18:20)

8-5实现任务调度协程(下)(14:36)

8-6实现任务执行模块(上)(11:13)

8-7实现任务执行模块(下)(15:03)

8-8利用分布式锁避免任务并发(上)(13:51)

8-9利用分布式锁避免任务并发(下)(12:33)

8-10监听etcd中的强杀任务通知(16:51)

8-11保存任务日志到mongodb(上)(15:44)

8-12保存任务日志到mongodb(中)(13:18)

8-13保存任务日志到mongodb(下)(05:49)

8-14运行业务代码中的某个cronjob,代码该如何上传到服务器?

8-15【讨论题】master如何取得worker的信息?

8-16【讨论题】master分发任务的架构

9-1job-log接口开发之master支持mongodb日志查询(17:26)

9-2web界面开发:查看任务执行日志(15:58)

9-3worker服务注册到etcd(22:10)

9-4worker-list接口开发之master从etcd查询worker列表(07:46)

9-5web界面开发:查看健康worker列表(05:34)

9-6分布式部署到linux服务器(上)(03:46)

9-7分布式部署到linux服务器(中)(10:44)

9-8分布式部署到linux服务器(下)(07:37)

9-9常用命令总结

9-10【讨论题】现有抢夺任务的架构有有哪些问题和痛点

10-1【讨论题】重构系统如何实现更灵活的架构

10-2课程总结&课后练习(05:46)

独家号:慕课网

慕课网(IMOOC)是IT技能学习平台。慕课网(IMOOC)课程涉及JAVA、前端、Python、大数据等60类主流技术语言,覆盖了面试就业、职业成长、自我提升等需求场景,帮助用户实现从技能提升到岗位提升的能力闭环。

学习方式:在线播放或缓存下载