近些年,隨著互聯網的不斷發展,市場變化越來越快,需求變更越來越頻繁。為了能夠跟上市場變化的腳步,在市場競爭中占得先機,越來越多的研發團隊選擇敏捷開發、快速迭代。然而,越來越龐大的軟件系統,越來越復雜的業務邏輯,使得系統維護變得越來越困難,變更成本越來越大,團隊工作效率越來越低。許多用戶需求需要拖延數月才能交付,使得軟件企業痛失有利商機,在市場競爭中處于不利地位。微服務架構正是解決規?;瘡碗s業務系統的應對之策。
然而,微服務應當如何拆分、如何架構?有哪些技術特點與技術難點?如何構建支持微服務的技術中臺?如何應對未來的技術更迭?最終又應當如何部署在云端自動化運維呢?為了幫助大家準確理解微服務,合理設計微服務,有效規避微服務轉型過程中的那些“坑”,我們特此組織了此次課程。
培訓特色
本課程的授課特點是注重實戰,授課老師在微服務設計相關領域從業多年,收集了大量的真實案例,會針對項目過程中常見的問題進行匯總、研討,通過大量的真實案例,詳細地介紹微服務設計過程中需要注意的要點以及難點。通過講師十幾年經驗的總結與傳授,既保證了課程的理論體系完整,又使學員掌握實際工程方法,達到學以致用的目的。
本課程有企業內訓形式,授課老師、課程內容、教學方式均依據企業的培訓需求靈活設置。
本網站內容包括并不限于課程介紹、課程大綱、上課照片、老師介紹等等資料及信息,未經允許不得抄襲和轉載。
培訓內容
第一部分:微服務之基本概念
培訓概要:
想要在快速變化的市場中獲得競爭優勢,需要打造快速交付的團隊。但規?;浖_發團隊帶來快速交付的困局,解決的思路就是微服務。然而,只有準確理解微服務,理解微服務的“小而專”、“去中心化技術治理與數據管理”,才能真正發揮微服務的優勢。
培訓收益:
1.理解為什么微服務架構是應對當今激烈市場競爭的解決之道
2.理解規?;瘓F隊的組織形式:跨功能團隊與微服務架構
3.理解微服務架構如何支持技術架構的快速演化
4.理解微服務架構如何支持未來新技術的轉型
培訓內容:
1. 快速變化的年代需要快速交付
1)快速變化的市場與快速更迭的技術帶來發展機遇
2)激烈競爭的新興市場需要更快速的交付去占領市場
2. 規?;瘓F隊快速交付的困局
1)煙囪式的開發團隊導致煙囪式的軟件開發
2)煙囪式的軟件開發導致煙囪式的軟件交付
解決思路:
1)跨功能團隊(特性團隊)的組織形式
2)將單體應用改為微服務架構
3.準確理解微服務架構
1)準確理解微服務架構“小而專”的概念提高設計質量
2)準確理解微服務“去中心化的技術治理”去快速技術演化
3)準確理解微服務“去中心化的數據管理”做大數據轉型
第二部分:微服務之技術組件
培訓概要:
帶著學員搭建一套微服務的系統,將其運行起來,在實戰的過程中理解微服務的注冊中心、生產者、消費者、斷路器、服務網關等技術組件的原理與設計過程,從實踐中來,到實踐中去。
培訓收益:
1.切實搭建一套微服務系統并運行起來
2.掌握微服務設計中的各個組件及其參數配置
3.掌握微服務的服務網關及其安全組件、智能路由、服務遷移
4.掌握微服務設計的熔斷機制、線程隔離、服務降級、限流措施等方面的設計
5.了解服務網格(Service Mesh)的基本原理及其設計
培訓內容:
1. 注冊中心的概念與作用
1)Dubbo的簡介
2)Zookeeper的簡介
3)ETCD的簡介
4)Netflix Eureka的簡介
2. Spring Cloud Eureka方案
1)Spring Cloud Eureka的系統架構
2)Eureka Server的設計
3)Eureka Client的設計
4)服務發現的設計
? 使用ribbon的設計
? 使用feign的設計
5)熔斷機制
斷路器設計模式
線程池隔離、優雅降級與熔斷
Hystrix的斷路器設計
3.微服務的安全措施與服務網關設計
1)多渠道用戶接入
2)請求合法性與用戶鑒權
3)灰度發布、金絲雀測試與全鏈路壓測
4)服務降級、流量控制與節流
4.路由網關(zuul)的設計
1)智能路由與服務遷移
2)過濾器的設計與配置
3)Zuul的高可靠設計
5.服務網格(Service Mesh)
1)Spring Cloud的跨語言調用
2)服務網格的基本概念及其設計
3)Linked、Istio、Sofa MOSN服務網格框架
第三部分:微服務之設計模式
培訓概要:
通過實際案例舉例,講解如何運用6種設計模式進行微服務的設計,并且在設計過程中講解微服務開發經常遇到的一些設計難題及其解決方案,諸如:跨庫的關聯查詢、跨庫的事務處理、異步化操作、無狀態設計,以及與大數據技術的結合。
培訓收益:
1.掌握如何運用6種設計模式進行微服務的設計
2.掌握如何解決跨庫的關聯查詢、跨庫的事務處理、異步化操作等設計難題
3.掌握微服務設計應注意的反模式及其設計陷阱
4.掌握微服務進行業務拆分的設計原則
培訓內容:
1.微服務架構的6種設計模式
1)聚合模式
案例:電商網站購物功能的設計
? 微服務前后端分離的設計
? 分布式事務的兩階段提交
? TCC方案與阿里GTS
? 采用分布式事務解決跨庫的事務操作
案例:電商網站下單服務的設計
單一職責原則與領域驅動設計
? 互聯網縱向切分在微服務的實現
? 縱向切分應當注意的設計問題
? 避免跨庫關聯查詢的方案設計
2)代理模式
案例:電商網站支付功能的設計思路
3)鏈式模式
4)分支模式
5)異步消息模式
案例:12306的異步化操作
案例:電商網站異步化操作的微服務實現
6)數據共享模式
高并發寫入的分布式設計方案
案例:TiDB數據庫的分布式方案
如何實現高并發大數據查詢場景
案例:MongoDB實現大數據秒級查詢
2.微服務的無狀態設計
1)Session管理的設計難題
? 2)微服務的無狀態設計
? 3)基于http/rest的無狀態低耦合通訊
3.微服務設計的反模式
1)太多數據遷移
2)數據共享反模式
3) 頻繁交互反模式
探討:如何解決微服務接口太多的問題
第四部分:微服務之進階實戰
培訓概要:
老師帶著學員演練在真實項目中該如何開發微服務,包括微服務的父項目、多套配置文件、集中式的配置中心,以及如何架構一個既支持微服務又支持領域驅動的技術中臺,既能夠降低技術門檻,減少開發工作量,又能夠易于業務變更,易于架構演化。
培訓收益:
1.掌握在真實項目中切實可行地開發微服務
2.掌握高可靠的微服務架構設計
3.掌握微服務的性能測試及性能調優
培訓內容:
1. 演練在真實項目中開發微服務
1)微服務項目中父項目的設計
2)微服務項目中多套配置文件的設計
3)微服務項目中集中式配置中心的設計
2. 演練在真實項目中高可靠微服務架構
1)高可靠注冊中心的設計
2)高可靠服務網關的設計
3. 演練在真實項目中微服務的性能測試
1)斷路器監控Turbine及其應用實踐
2)鏈路跟蹤Zipkin與微服務路由優化的應用實踐
3)微服務的灰度發布及其金絲雀測試
4)微服務的全鏈路壓測應用實踐
第五部分:微服務之自動化運維
培訓概要:
運維微服務架構還需要強大的運維平臺支持,也就是打造一整套DevOps自動化運維體系。這個體系包括:持續探索、持續集成、持續交付,以及在這個過程中的自動化測試與運維。老師將帶領學員實際操作如何搭建這樣的平臺,如何自動化部署微服務,以及用Prometheus、EFK運維。
培訓收益:
1.理解DevOps的概念、作用,以及在微服務架構中如何快速交付
2.實操Git+Jenkins+Docker+Kubernetes自動化運維體系
3.實操Eureka+Config+Turbine+Zipkin在k8s中的云端部署
4.實操Prometheus+Grafana+EFK的線上系統監控與日志采集
培訓內容:
1.微服務架構需要DevOps自動化運維
1)剖析傳統運維存在的“交付困難”的困局
2)Who build who run it與DevOps的概念
3)敏捷團隊快速交付的持續探索、持續集成、持續交付與按需發布
4)DevOps帶來開發人員的負擔與自動化運維
2.自動化運維的工作原理
1)Docker容器技術與發布標準化
2)分布式容器部署與Kubernetes
3)實操Git+Jenkins+Docker+Kubernetes的自動化部署過程
3.打造微服務架構的自動化運維體系
1)注冊中心Eureka在Kubernetes的分布式部署
2)配置中心Config在Kubernetes的分布式部署
3)斷路器監控Turbine與路由優化Zipkin
4.微服務云端架構的系統監控與日志采集
1)Kubernetes的系統監控工具Prometheus+Grafana
2)Kubernetes的日志采集工具EFK
匯款、微信轉帳
匯款信息:
單位名稱:北京市海淀區中科院計算所職業技能培訓學校
開戶行:工行海淀西區支行
賬號:0200 0045 1920 0043 667
開戶銀行代碼:1021 0000 0458
微信轉賬:
步驟一:打開微信,掃描二微碼付款時,點擊打開微信右下角里的“發現”,在列表界面有一個“掃一掃”選項,點擊打開“掃一掃”(如下圖):
步驟二:點擊打開“掃一掃”后,會出現一個掃描框,將中科院計算所培訓中心二維碼/條碼放入框內,即可自動掃描,并顯示支付信息,輸入付款金額。

(中科院計算所培訓中心二維碼)
步驟三:點擊 “添加付款備注”,填寫付款人姓名和單位全稱,所有信息核對無誤后,點擊“確認付款”,完成支付。


- 注意:步驟三是為了盡快確認您的培訓費用是否到帳,方便為您查帳,所以一定要把付款人姓名和單位名稱填寫完整,如果姓名和單位名稱超過20個漢字,單位名稱可以填寫簡稱。