一、培訓收益
系統全面地了解和學習微服務架構的設計、云計算與大數據基礎平臺及原生云應用開發方法等。通過此次課程培訓,可使學習者獲得如下收益:
1.學習掌握微服務架構的概念與本質;
2.使用Springboot/SpringCloud構建活動報名系統;
3.使用NetflixOSS構建微服務支撐組件(服務注冊發現、集中化配置中心、API網關、容錯處理);
4.使用Docker發布服務;
5.使用Docker-Compose在開發環境中運行多個服務;
6.學習掌握微服務的測試策略與PACT測試;
7.學習掌握微服務的安全機制與OAuth2.0實現;
8.學習掌握微服務間的異步通信機制;
9.學習了解微服務的監控與告警;
10.學習掌握微服務架構的日志聚合;
11.構建微服務的持續交付流水線。
二、培訓特色
1.理論與實踐相結合、案例分析與行業應用穿插進行;
2.專家精彩內容解析、學員專題討論、分組研究;
3.通過全面知識理解、專題技能演示和實踐引導學員掌握課程內容。
三、日程安排
時間 | 知識模塊 | 授課綱要 |
---|---|---|
第一天 | 微服務架構概述 | 1.微服務架構概述 |
什么是微服務架構 | ||
單塊架構優勢與挑戰 | ||
微服務架構的本質與特征 | ||
微服務與SOA | ||
微服務的挑戰 | ||
2.微服務架構構成 | ||
API網關與常用組件 | ||
服務注冊中心與常用組件 | ||
配置中心與常用組件 | ||
服務調用框架與常用組件 | ||
3.企業微服務架構示例 | ||
微服務設計 | 1.應用的微服務架構設計 | |
服務的粒度與分類 | ||
服務拆分原則 | ||
常見微服務拆分方法 | ||
服務的編排與編制 | ||
單體架構如何演進到微服務架構 | ||
微服務架構系統案例介紹 | ||
3.網關層相關設計 | ||
網關的作用 | ||
微服務架構下Session管理方案 | ||
Oauthor2與微服務安全控制方案 | ||
微服務流控方案 | ||
3.微服務的相關設計 | ||
常用設計模式 | ||
服務間通信方式的比較與選擇 | ||
服務的無狀態設計 | ||
服務的冪等設計 | ||
服務的容錯與降級設計 | ||
服務的柔性設計 | ||
實踐案例 | ||
第二天上午 | 服務治理 | 1.分布式事務 |
分布式事務相關理論 | ||
兩階段提交 | ||
TCC模式與方案 | ||
CC模式與方案 | ||
可靠事件模式與方案 | ||
消息表模式與方案 | ||
2. 服務監控 | ||
監控的重要性 | ||
監控內容與方式 | ||
請求跟蹤場景與應用 | ||
監控日志設計與數據采集 | ||
監控方案與框架選擇 | ||
結合監控進行問題排查 | ||
3. 微服務發布 | ||
契約測試 | ||
Docker容器 | ||
服務發布流水線 | ||
管理微服務 | ||
第二天下午 | 微服務開發實踐 | 1.實驗案例介紹 |
實驗案例 | ||
服務定義與劃分 | ||
實驗基礎環境搭建 | ||
2.SpringBoot介紹 | ||
SpringBoot的核心能力 | ||
SpringCloud與常用組件介紹 | ||
練習:構建第一個微服務 | ||
3.微服務的注冊與發現 | ||
為什么要服務注冊與發現 | ||
服務注冊與服務發現的實現方式 | ||
Eureka原理與使用介紹 | ||
練習:使用Eureka實現服務注冊與發現 | ||
練習:使用Ribbon實現客戶端負載均衡 | ||
練習:使用Feign實現申明式REST調用 | ||
第三天 | 微服務開發實踐 | 4.微服務調用與容錯處理 |
微服務下的可用性與故障蔓延 | ||
斷路器模式的原理與實現 | ||
練習:使用Hystrix實現容錯與降級 | ||
練習:使用Hystrix實現異步調用 | ||
練習:使用Hystrix實現請求數據緩存 | ||
練習:使用HystrixDashboard實現請求監控 | ||
5.構建微服務網關 | ||
為什么需要微服務網關 | ||
微服務網關的實現方案 | ||
練習:使用Zuul實現微服務網關 | ||
6.微服務的集中化配置 | ||
為什么要集中化配置 | ||
集中化配置的實現原理與方式 | ||
練習:使用SpringCloudConfig實現集中化配置 | ||
練習:使用SpringCloudBus與RabbitMQ同步多服務配置 | ||
7.微服務架構與實踐總結 |
四、授課專家
鄭老師 微服務架構資深講師,咨詢服務總監,PMP,DevOps Mster。1999年畢業于華東理工大學,獲得機械工程和軟件工程雙學位。任華東金融研發部總監,負責中國銀聯、上海黃金交易所、萬達金融等多個客戶和項目的方案和服務交付工作。負責銀聯云資源管理平臺、銀聯云應用開發平臺、銀聯統一運維平臺 、黃金交易所管控系統、金交所運維監控系統、萬達DevOps系統等多個項目的設計和交付工作。目前任產品部咨詢服務總監,對應用開發平臺、企業流程平臺、SOA架構、微服務架構、DevOps 平臺、項目管理與研發管理等方面都有豐富的實踐經驗。
程老師 CTO,微服務架構首席咨詢師,國內較早倡導和實踐微服務的先行者,多次受邀在大型技術會議主題分享“微服務架構”相關主題。超過10年以上的軟件行業經驗,從企業應用、互聯網應用、服務化平臺的架構設計、開發到自動化構建、持續集成、持續交付以及DevOps的轉型實施等有較豐富的實踐經驗。
張老師 近10年的軟件系統開發經驗,多年系統架構經驗;參與開發多個大型項目,有電信某電信網管項目、某O2O電商平臺、某征信系統等;對Spring Cloud、微服務、持續集成、持續交付、云平臺、分布式系統和移動應用開發方面頗有建樹,對容器和分布式集群有豐富的實戰經驗。熱愛技術交流,曾代表公司參加全球微服務架構高峰論壇、QCon等技術沙龍。擁抱開源,多個項目開源在Github與Git@OSC上,并獲得開源中國的推薦,例如電子書《使用Spring Cloud與Docker實戰微服務》等。
尹老師 《Spring Cloud微服務-全棧技術與案例解析》, 《Spring Cloud微服務 入門 實戰與進階》作者。簡單的技術愛好者,先后就職于京東和阿里巴巴。一直從事JAVA服務端開發工作,前端開發工作。主要關注分布式,高并發,后端服務,目前重心在微服務這塊。個人成就出書:《Spring Cloud微服務-全棧技術與案例解析》《Spring Cloud微服務 入門 實戰與進階》GitChat: 微服務中的短信服務如何設計?演講:極部落Java開發者大會,iTechPlus Java開發者大會 分享嘉賓。