【培訓(xùn)對象】
軟件工程師、架構(gòu)師、運維工程師等。 學(xué)員要求有一定的J2EE開發(fā)經(jīng)驗,熟悉eclipse等開發(fā)工具的使用,熟悉Linux環(huán)境下常用命令、軟件安裝、部署。
【課程描述】
本課程從架構(gòu)的演變歷程開始分析,為什么終會演變成微服務(wù)架構(gòu)。接著介紹微服務(wù)的架構(gòu)描述和特性。過程中通過Dubbo與Spring Cloud兩大主流的微服務(wù)解決方案為例進行對比,剖析微服務(wù)架構(gòu)的各大組件。
課程將通過實例演示和動手實踐相結(jié)合的方式來強化學(xué)員對課程知識的掌握,并快速的轉(zhuǎn)化為實戰(zhàn)技能應(yīng)用到企業(yè)的日常工作當中。
【課程內(nèi)容】
? 傳統(tǒng)單體架構(gòu)及其面臨的挑戰(zhàn)
? 傳統(tǒng)單體架構(gòu)分析
? 單體架構(gòu)的優(yōu)勢
? 單體架構(gòu)局限性與面臨的挑戰(zhàn)
? 復(fù)雜性
? 開發(fā)效率
? 穩(wěn)定性
? 部署與運維成本
? 新功能交付
? 擴展能力
? 如何解決上述問題?
? 【案例】結(jié)合某案例分析傳統(tǒng)單體架構(gòu)面臨問題
? 單體架構(gòu)拆分
? 服務(wù)水平拆分
? 服務(wù)水平拆分面臨問題
? 服務(wù)垂直拆分
? 服務(wù)拆分之后各模塊間通信與交互
? 服務(wù)的設(shè)計原則
? 復(fù)用性
? 耦合性
? 服務(wù)編排
? 自治
? 無狀態(tài)
? 自動發(fā)現(xiàn)
? 服務(wù)拆分后面臨挑戰(zhàn)
? 調(diào)用性能
? 線性擴展
? 服務(wù)監(jiān)控
? 故障定位
? 日志搜索
? 流控
? 微服務(wù)架構(gòu)綜述
? 什么是微服務(wù)?
? 微服務(wù)架構(gòu)優(yōu)點
? 微服務(wù)架構(gòu)面臨的挑戰(zhàn)有哪些?
? 微服務(wù)生命周期與交付流程
? 微服務(wù)管理規(guī)范
? 微服務(wù)框架對比
? 微服務(wù)架構(gòu)及常用組件
? 微服務(wù)開發(fā)之Dubbo
? Dubbo介紹與誕生背景
? 為什么選擇Dubbo?
? Dubbo架構(gòu)剖析
? Dubbo優(yōu)缺點分析
? Dubbo調(diào)用地址與負載均衡
? Dubbo高可用機制
? Dubbo管控臺與監(jiān)控
? 【案例】基于Dubbo的項目應(yīng)用案例分析
? 微服務(wù)之Spring Cloud
? Spring Cloud定義
? Spring Cloud生態(tài)子項目剖析
? Spring Cloud特點
? 微服務(wù)開發(fā)之Spring Boot
? SpringBoot誕生背景介紹
? SpringBoot適應(yīng)場景
? SpringBoot優(yōu)勢
? SpringBoot的包版本管理
? SpringBoot自動配置
? SpringBoot熱部署機制
? 如何自定義配置參數(shù)?
? 外部化配置
? 多環(huán)境配置
? Spring Boot常用注解
? Spring Boot發(fā)布之jar與war
? 生產(chǎn)級特性
? 外部配置
? 監(jiān)控
? 【實戰(zhàn)】使用SpringBoot快速構(gòu)建RESTful API應(yīng)用
? 微服務(wù)之注冊中心
? 服務(wù)調(diào)用端與服務(wù)提供端之間透明通信
? 如何實現(xiàn)服務(wù)的動態(tài)注冊與發(fā)現(xiàn)
? 注冊中心引入
? 注冊中心之zookeeper
? 注冊中心底層實現(xiàn)剖析
? SpringCloud之注冊中心Eurka
? Eurka介紹與原理分析
? 【實戰(zhàn)】實現(xiàn)將微服務(wù)注冊到EurkaServer上
? 微服務(wù)之負載均衡
? 負載均衡應(yīng)用場景
? 常用的負載均衡實現(xiàn)方案
? 客戶端負載均衡
? 服務(wù)端負載均衡
? 【實戰(zhàn)】使用Ribbin實現(xiàn)客戶端負載均衡
? 微服務(wù)之容錯處理
? 雪崩效應(yīng)場景分析
? 如何應(yīng)對雪崩效應(yīng)下的容錯處理
? Spring Cloud體系下之容錯處理解決方案斷路器Hystrix
? 應(yīng)用如何接入Hystrix
? 如何監(jiān)控Hystrix狀態(tài)
? 【實戰(zhàn)】實現(xiàn)Hystrix Dashboard可視化監(jiān)控數(shù)據(jù)
? 微服務(wù)之網(wǎng)關(guān)
? 微服務(wù)網(wǎng)關(guān)定義
? 微服務(wù)網(wǎng)關(guān)引入能解決什么問題
? SpringCloud之微服務(wù)網(wǎng)關(guān)zuul
? 如何編寫zuul微服務(wù)網(wǎng)關(guān)
? zuul過濾器的應(yīng)用
? zuul的容錯與回退處理
? 【實戰(zhàn)】使用zuul聚合微服務(wù)
? 微服務(wù)之配置中心
? 服務(wù)配置中心介紹與應(yīng)用場景分析
? 微服務(wù)配置之Ansible
? 如何管理微服務(wù)中的配置
? Spring Cloud下之微服務(wù)配置解決方案Spring Cloud Config
? Config Server與Config Client的實現(xiàn)
? Config Server倉庫配置與應(yīng)用流程
? 如何實現(xiàn)配置端點的刷新
? 如何確保配置中心內(nèi)容的安全性?
? 如何實現(xiàn)配置刷新后自動下發(fā)?
? 【實戰(zhàn)】使用Spring Cloud Config打造微服務(wù)配置中心
? 微服務(wù)之封裝
? 容器化技術(shù)
? Docker簡介
? Docker架構(gòu)剖析
? 虛擬機與Docker的對比
? Docker的優(yōu)點
? Docker安裝系統(tǒng)要求
? Docker的安裝與卸載
? Docker鏡像常用命令
? Docker容器常用命令
? 如何配置Docker鏡像地址
? Docker鏡像下載與構(gòu)建
? 使用Docker Registry打造私有鏡像倉庫
? 微服務(wù)部署
? 持續(xù)集成
? Jenkins簡介
? 使用Jenkins實現(xiàn)自動化發(fā)布
? 搭建版本控制系統(tǒng)
? 搭建Jenkins持續(xù)集成系統(tǒng)
? 持續(xù)集成實現(xiàn)自動化構(gòu)建
? 微服務(wù)日志
? 為什么需要搭建應(yīng)用日志中心
? 開源日志中心ELK介紹
? 日志存儲系統(tǒng)之Elasticsearch
? 日志收集系統(tǒng)之Logstash
? 日志查詢系統(tǒng)之Kibana
? ELK日志中心搭建
? 微服務(wù)監(jiān)控
? Spring Boot自帶的開源監(jiān)控系統(tǒng)Spring Boot Admin
? 自主搭建系統(tǒng)監(jiān)控中心
? 分布式調(diào)用鏈中心
? 開源調(diào)用鏈中心Zipkin
? 微服務(wù)調(diào)用鏈追蹤
? Spring Cloud Sleuth簡介
? Spring Cloud Sleuth與Zipkin結(jié)合應(yīng)用
? 微服務(wù)之異步化
? 使用MQ實現(xiàn)異步調(diào)用
? 分布式事務(wù)解決方案剖析
? Spring Cloud Bus的應(yīng)用
? 【實戰(zhàn)】使用Spring Cloud Bus實現(xiàn)配置的自動刷新
? 微服務(wù)測試
? Spring Boot單元測試
? Service層測試
? REST API測試
? 【綜合案例】某大型的跨境電商項目
? 【綜合案例】某服務(wù)治理平臺
總結(jié)、回顧、答疑
【課程導(dǎo)師】
陳國星
研發(fā)迭代領(lǐng)域?qū)<遥瑒?chuàng)業(yè)團隊管理領(lǐng)域?qū)<?,阿里云企業(yè)級互聯(lián)網(wǎng)架構(gòu)師,阿里云受邀講師,大數(shù)據(jù)架構(gòu)研究者,網(wǎng)絡(luò)安全領(lǐng)域?qū)<遥?wù)于某大型互聯(lián)網(wǎng)公司任安全事業(yè)部經(jīng)理,