課(ke)程描述(shu)INTRODUCTION
日(ri)程(cheng)安排SCHEDULE
課程大綱Syllabus
企業微服務架構落地課程
【課程背景】
隨著互聯網時代的到來,數據量急劇增加,并發量也越來越大,傳統的單體應用訪問起來變得越來越緩慢?企業如何快速的找到應用緩慢的根源并進行快速的優化?企業如何重新規劃和設計高可用高并發的分布式系統的架構,而微服務架構已然成為分布式系統架構最主流的實現方案。
本課程首先從軟件架構的演變歷程開始分析,分析傳統的單體架構是如何演變為微服務架構的?探討了基于微服務架構對團隊技能以及團隊組織架構的要求,深入剖析了什么類型的項目適合采用微服務架構?微服務架構的技術選型以及如何選擇?
接著從微服務架構所涉及到的各種組件,基于原理+實戰的模式。讓學員對其有全盤和深入的理解和應用,并掌握在日常工作中的*實踐。
課程(cheng)將通過實(shi)例演示(shi)和(he)動手實(shi)踐相結合的(de)方式來(lai)強化學員對課程(cheng)知識(shi)的(de)掌握,并(bing)快速的(de)轉化為實(shi)戰技能應(ying)用到企業的(de)日常工作(zuo)當中。
【課程收益】
了解企業微服務架構落地的全流程
掌握微服務架構對團隊和人才的要求
掌握微服務架構的基礎設施和實現方案
掌握微服務架構的*實踐
【課程對象】CTO、技術總監、研發(fa)負責人、架(jia)構師、研發(fa)工程師、售前技術工程師
【課程大綱】
一、微服務架構背景
1、從傳統單體架構到分布式微服務架構演變歷程
案例:淘寶
2、微服務架構相關概念
微服務架構定義
微服務架構面臨哪些挑戰?
微服務生命周期與交付流程
微服務技術選型
微服務架構常用組件
微服務對(dui)于團隊要求
二、如何進行微服務設計與拆分?
1、微服務設計和拆分原則
微服務設計、開發和運維流程剖析
微服務拆分維度有哪些?
微服務拆分原則有哪些?
2、微服務拆分后面臨問題?如何解決?
如何快速定位故障?
如何進行系統間調用鏈路分析?
如何高效的實現服務治理?
如(ru)何(he)確(que)保服(fu)務(wu)上(shang)下游調用的穩定性?
三、微服務開發框架利器之SpringBoot?
1、SpringBoot前世今生
SpringBoot誕生背景
SpringBoot優勢
2、SpringBoot開發特性
SpringBoot包版本管理
SpringBoot自動配置
SpringBoot常用注解
SpringBoot自定義配置參數
SpringBoot外部化配置
3、SpringBoot生產級特性
SpringBoot多環境配置
SpringBoot部署(shu)與運維(wei)
四、微服務案例分析
1、微服務按業務拆分
2、框架搭建
微服務整體工程架構搭建
各(ge)微(wei)服(fu)務模塊開發
五、微服務之遠程調用
1、遠程調用
如何實現跨服務間的遠程調用?
跨服務間遠程調用的幾種方式對比
跨服務間遠程調用需要考慮的因素有哪些?
2、負載均衡
如何實現跨服務間調用的負載均衡?
服務端負載均衡方案
客(ke)戶端負載均衡方案
六、微服務之注冊中心
1、服務治理
服務治理的定義與作用
微服務調用端和微服務提供端之間透明通信
微服務動態注冊與發現
2、注冊中心實現方案
Zookeeper底層原理剖析
Eureka底層原理剖析
Nacos底層原理剖析
Nacos服務分級存儲模型
如何基于Nacos實現跨區域集群的調用
如何基于namespace實現環境隔離
3、注冊中心應用實戰
基于Eureka實現服務注冊與發現,上下游調用
基于Nacos實現(xian)服務注冊與(yu)發現(xian),上下(xia)游(you)調用
七、微服務之遠程同步調用?
1、RestTemplate實現遠程調用
負載均衡原理
基于RestTemplate的直連遠程同步調用
使用RestTemplate如何與Eureka、Nacos實現服務發現及負載均衡
2、Feign實現遠程調用
基于Feign實現的遠程負載均衡調用
Feign客戶端工程結構*實踐
3、自定義負載均衡
負載均衡策略IRule
如何指定負載(zai)均衡(heng)策(ce)略、自定義(yi)負載(zai)均衡(heng)策(ce)略?
八、微服務之遠程異步調用?
1、異步調用
微服務間異步調用的實現方式
微服務間異步調用如何確保異步成功執行?
基于MQ實現微服務異步調用
MQ的異步通知模型
MQ的異步通知模型下服務的冪等性要求
2、異步調用實現
消息中間件選型與對比
消息隊列編程模型之點對點
消息隊列編程模型之發布/訂閱
基于RabbitMQ實現的遠程異步調用
基于Kafka實現的遠程異步調用
3、總結:基于(yu)MQ實現異步調用注意事項
九、微服務之容錯處理
1、微服務容錯處理
雪崩效應場景分析
如何應對雪崩效應下的容錯處理
微服務的5種容錯方案:超時處理、艙壁模式、斷路器、限流、降級
微服務間調用超時如何處理?
如何實現微服務的服務降級與熔斷
如何對服務提供者實現限流?
2、微服務容錯處理方案之Hystrix
Spring Cloud體系下之容錯處理解決方案斷路器Hystrix
基于Hystrix實現方法級的服務降級與熔斷
基于Hystrix服務降級與熔斷策略的配置
如何正確設置服務的超時時間?應遵循什么原則?
基于Hystrix Dashboard實現服務的流量與熔斷監控
3、微服務容錯處理方案之Sentinel
SCA服務限流降級之Sentinel
Sentinel的基本概念:資源、規則
Sentinel的工作流程與原理剖析
Sentinel對流量控制、熔斷降級的實現機制
Sentinel實時監控和規則管理的控制臺
Sentinel流控模式:關聯模式、鏈路模式
Sentinel留空效果:warm up、排隊等待
Sentinel熱點參數限流:全局參數限流、熱點參數限流
Sentinel隔離:線程隔離與信號量隔離模式
基于FeignClient整合Sentinel實現隔離和降級邏輯
Sentinel熔斷降級:慢調用、異常比例
Sentinel與開源框架的快速適配
Spring Cloud體系下之容錯處理解決方案斷路器Hystrix
Sentinel與Spring Cloud Hystrix對比
十、微服務之網關
1、微服務網關
微服務網關定義
服務網關的應用場景有哪些?
網關的實現原理
2、微服務網關實現之zuul
SpringCloud之微服務網關zuul
編寫zuul微服務網關的流程
zuul過濾器的應用
zuul的容錯與回退處理
zuul如何自定義服務的中轉策略
3、微服務網關實現之gateway
spring cloud gateway網關
spring cloud gateway之斷言工廠
spring cloud gateway之過濾器工廠
spring cloud gateway之全局過濾器
如何解決網關跨域的問題(ti)
十一、微服務之配置中心
1、微服務配置中心
服務配置中心介紹與應用場景分析
如何管理微服務中的配置
如何實現配置端點的刷新
如何確保配置中心內容的安全性?
如何實現配置刷新后自動下發?
2、微服務配置中心實現之Nacos
Nacos下配置的多項目分組管理
SCA下Nacos實現的配置(zhi)管(guan)理與動態刷新
十二、微服務監控
1、微服務監控
Spring Boot自帶的開源監控系統Spring Boot Admin
自主搭建系統監控中心
2、微服務調用鏈跟蹤
分布式調用鏈中心
開源調用鏈中心Zipkin
微服務調用鏈追蹤
Spring Cloud Sleuth簡介
Spring Cloud Sleuth與Zipkin結合應用
十三、微服務之分布式事務
1、分布式事務原理
CAP定理:一致性、可用性、分區容忍性
base理論
數據庫事務的ACID特性分析
本地事務 VS 分布式事務
如何解決跨服務間同步調用的數據一致性?
本地事務定義以及事務的ACID特性分析
什么是分布式事務?
分布式事務的應用場景有哪些?
分布式事務的原理
分布式事務XA協議、兩階段提交與三階段提交的流程與原理剖析
2、分布式事務實現之Seata?
SCA下Seata對事務模式的支持
Seata AT模式下的應(ying)用實戰
十四、微服務日志
1、微服務日志
傳統日志管理方式痛點分析
為什么需要搭建應用日志中心
2、微服務日志實現之ELK?
開源日志中心ELK介紹
日志存儲系統之Elasticsearch
日志收集系統之Logstash
日志查詢系統之Kibana
ELK日志中心搭建訪(fang)問日志的(de)分析(xi)
企業微服務架構落地(di)課(ke)程
轉載://citymember.cn/gkk_detail/297059.html
已開課(ke)時間(jian)Have start time
- 陳國星
IT相關內訓
- Fine BI 數據分析與 張曉如
- CISSP認證培訓課程 張勝生
- 網安管理崗培訓 張勝生
- 滲透測試與攻防實戰高級課程 張勝(sheng)生
- Python高效辦公自動化 張曉如
- 云計算的應用領域和實踐 武威
- IT崗位數智化能力提升路徑 甄文智
- 大模型技術與應用培訓 葉梓
- 軟件安全意識加強與技能提高 張(zhang)勝生
- 電力信息化:價值和建設分析 劉宇佳
- 互聯網新技術在銀行的應用 武威
- 信息安全風險評估與加固技能 張勝生(sheng)