班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號) |
每個班級的人數限3到5人,互動授課, 保障效果,小班授課。 |
上間和地點 |
上部份地點:【上海】同濟大學(滬西)/新城金郡商務樓(11號線白銀路站)【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院【北京分部】:北京中山學院/福鑫大樓【南京分部】:金港大廈(和燕路)【武漢分部】:佳源大廈(高新二路)【成都分部】:領館區1號(中和大道)【沈陽分部】:沈陽理工大學/六宅臻品【鄭州分部】:鄭州大學/錦華大廈【石家莊分部】:河北科技大學/瑞景大廈 最近開間(周末班/連續班/晚班):2019年1月26日 |
實驗設備 |
◆小班教學,教學效果好 ☆注重質量☆邊講邊練 ☆合格學員免費推薦工作 ★實驗設備請點擊這兒查看★ |
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽; 2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。 3、培訓合格學員可享受免費推薦就業機會。☆合格學員免費頒發相關工程師等資格證書,提升職業資質。專注高端技術培訓15年,端海學員的能力得到大家的認同,受到用人單位的廣泛贊譽,端海的證書受到廣泛認可。 |
部份程大綱 |
|
- 第1章 課程介紹
本章中將介紹一下本課程的基本內容,包括:我們要做什么、要求什么基礎、將學會哪些工具、收獲哪些獨家干貨,以及課程具體安排。
- 1-1 課程導學
第2章 如何執行shell命令
執行"定時任務"其實就是執行"shell命令"。在本章中,將首先帶大家區分"程序"與"命令",接著了解bash命令解釋器的2種工作模式,并圖示分析shell執行任務的底層原理與涉及的系統調用。最后,我們使會用Go語言的Command標準庫,實現任務的執行,輸出捕獲,殺死任務等重要功能。 ...
- 2-1 原理介紹
2-2 執行任務
2-3 捕獲任務輸出
2-4 強制結束任務
第3章 如何解析cron表達式
cron表達式是配置定時任務執行周期的核心工具。在本章中,將首先分析cron表達式的構成以及解析邏輯,并利用開源項目cronexpr解析cron表達式并計算任務的下次調度時間。之后,我們將利用其實現任務并發調度邏輯,即同時調度多個不同的cron任務,作為后續實戰課的一個重要前置知識。 ...
- 3-1 cron表達式原理
3-2 開源cron解析庫
3-3 調度多個cron
第4章 如何應用etcd協調服務
etcd等價于java生態中的zookeeper,基于raft協議工作,用于解決各種分布式應用場景的設計難題。本章中,我們將深入分析raft協議原理,逐步講解etcd的核心API用法,為實戰項目作好準備工作。
- 4-1 etcd功能與原理(上)
4-2 etcd功能與原理(下)
4-3 搭建與連接etcd
4-4 put寫入kv
4-5 get讀取kv
4-6 get讀取目錄下所有Kv
4-7 delete刪除kv
4-8 lease租約實現kv過期
4-9 watch監聽目錄變化
4-10 op取代get,put,delete方法
4-11 事務txn實現分布式鎖(上)
4-12 事務txn實現分布式鎖(下)
第5章 應用mongodb實現分布式存儲
mongodb是一個分布式的海量存儲服務,常用于存儲大量的日志類數據。本章中,將首先分析mongodb優勢、原理、應用場景,讓大家對其架構和功能有所了解。然后,我們會搭建mongodb服務端,開發若干示例程序,包括:插入,查找,刪除。后續實戰課將使用mongodb完成任務執行日志的保存與查看。 ...
- 5-1 moongodb簡介&基礎語法概述
5-2 moongodb原理概述
5-3 搭建與連接mongodb
5-4 InsertOne寫入單行記錄
5-5 InsertMany寫入多行記錄
5-6 Find查詢記錄
5-7 Delete刪除記錄
第6章 分布式crontab架構分析
本章中,將帶領大家對分布式crontab的整體架構進行功能分析,以及功能拆解。我們會結合整體架構圖,包括master節點、worker節點、etcd服務、mongodb服務各自的職責和數據流關系進行相關內容講解。
- 6-1 架構分析
6-2 master-worker整體架構
6-3 master功能點與實現思路
6-4 worker功能點與實現思路
第7章 實現master
萬丈高樓平地起,在本章中,將會帶領大家創建github項目,并初始化符合golang規范的項目結構,會帶領大家安裝依賴的etcd、mongodb包,告訴大家如何正確使用go get命令。之后,我們會逐一實現任務管理API,并實現前后端分離的任務管理后臺。...
- 7-1 創建項目與搭建基本框架(上)
7-2 創建項目與搭建基本框架(下)
7-3 job save接口開發-保存到etcd(上)
7-4 job save接口開發-保存到etcd(中)
7-5 job save接口開發-保存到etcd(下)
7-6 job delete接口開發:從etcd中刪除任務
7-7 job-list接口開發:從etcd獲取所有任務
7-8 job-kill接口開發:在etcd中標記結束任務
7-9 http支持靜態文件路由
7-10 利用bootstrap搭建頁面骨架
7-11 ajax獲取任務列表并展示
7-12 實現刪除按鈕
7-13 實現強殺與編輯按鈕
7-14 實現新建任務按鈕
第8章 實現worker
在本章中,我們首先讓worker實時同步etcd中的任務列表。其次,會基于cronexpr與協程實現一個高并發的定時任務調度模塊。我們會通過etcd實現分布式樂觀鎖,解決多個worker節點并發調度同一個任務的問題。最后,把任務執行的輸出與錯誤碼作為日志,保存到mongodb中供web管理后臺查看。...
- 8-1 worker功能概述
8-2 啟動后從etcd獲取任務列表
8-3 監聽etcd中任務變化
8-4 實現任務調度協程(上)
8-5 實現任務調度協程(下)
8-6 實現任務執行模塊(上)
8-7 實現任務執行模塊(下)
8-8 利用分布式鎖避免任務并發(上)
8-9 利用分布式鎖避免任務并發(下)
8-10 監聽etcd中的強殺任務通知
8-11 保存任務日志到mongodb(上)
8-12 保存任務日志到mongodb(中)
8-13 保存任務日志到mongodb(下)
第9章 完善系統
本章中,我們首先為master添加日志查看API,在web后臺可以查看mongodb中保存的任務執行日志。此后,會實現服務注冊與發現功能。最后,將演示如何配置nginx upstream反向代理實現高可用的master集群,配置systemctl來實現對master/worker守護進程的保活功能。...
- 9-1 job-log接口開發之master支持mongodb日志查詢
9-2 web界面開發:查看任務執行日志
9-3 worker服務注冊到etcd
9-4 worker-list接口開發之master從etcd查詢worker列表
9-5 web界面開發:查看健康worker列表
9-6 分布式部署到linux服務器(上)
9-7 分布式部署到linux服務器(下)
9-8 常用命令總結
|