軟件架構及性能調優相關技術培訓
【課程編號】:NX20894
軟件架構及性能調優相關技術培訓
【課件下載】:點擊下載課程綱要Word版
【所屬類別】:職業技能培訓
【培訓課時】:2天,6小時/天
【課程關鍵字】:軟件架構培訓,性能調優培訓
我要預訂
咨詢電話:027-5111 9925 , 027-5111 9926手機:18971071887郵箱:Service@mingketang.com
課程特色
互聯網時代的到來,使得互聯網上的產品具有創新成本低、需求變化快、用戶群體大等特點,促使業務不斷擴大,軟件功能持續增加,導致單體架構的維護成本、人員學習成本、缺陷修復成本、增加新功能的成本以及系統擴展成本等都在急劇增加,單塊架構無法適應互聯網時代的快速變化,面臨著越來越多的挑戰,一方面,代碼的可維護性、擴展性、靈活性在降低;而另一方面,系統的測試成本、構建成本以及維護成本在顯著增加。因此,隨著項目或者產品規模的不斷擴大,單塊架構應用的改造與重構勢在必行。
微服務架構隨著RESTful、容器技術、云計算、DevOps、持續交付、敏捷項目管理等IT技術的深入應用,有效的解決了互聯網時代遇到的眾多挑戰,因此微服務架構深受企業的歡迎,并在企業內部所采用。
培訓目標
1、學習掌握微服務架構的基礎知識;
2、學習掌握常見的集中微服務框架介紹及選型對比(dubbo、springCloud、motan、servicemesh);
3、使學員理解微服務技術架構的服務治理(熔斷、降級、限流、自愈、過載保護);
4、使學員理解微服務技術架構本質以及設計的原則;
5、使學員理解分布式架構中高并發場景設計及實戰分析(秒殺、搶購);
6、使學員理解分布式架構中間件場景應用(zookeeper kafka、rocketmq);
7、使學員理解如何保證分布式架構的高可用;
8、使學員理解多線程設計實現及案例分析;
9、使學員理解性能優化的方法論;
10、使學員理解代碼優化及規范設計;
11、使學員理解JVM調優實戰;
12、使學員理解Tomcat/Nginx/RocketMq調優;
13、使學員理解Sql調優;
14、學習掌握微服務間的異步通信機制;
15、學習了解微服務的監控與告警;
16、構建微服務的持續交付流水線;
17、使學員深入理解分布式的技術原理以及應用場景;
18、使學員學會設計微服務架構;
19、解決企業敏捷項目管理持續升級的運維管理問題;
20、使學員能學會監控、服務治理等工作;
21、提供解決問題的方法及思路,避免講解編碼怎么實現,編碼實現可以通過補充材料的方式提供,供研發人員線下學習。
22、適當增加一些研發人員自我管理及自我提升方面的思路,如時間管理、自我管理等,不需要大篇幅講解。
培訓對象
1、本課程適合于企業IT架構師、技術經理等角色;
2、本課程適合于軟件高級開發工程師;
3、本課程適合于業務需求人員;
4、本課程適合于企業高層管理人員;
5、本課程適合于IT運維人員;
培訓方式
1、以課堂講解、演示、案例分析為主,輔以互動研討、現場答疑、學以致用。
2、講師授課方式活躍,能夠帶動研發人員參與積極性。
3、培訓內容理論與實踐相結合,通過問答形式了解現在研發人員關注的問題,有針對性的進行講解。
課程內容:
第一天
第1個主題:互聯網時代的架構演變(30分鐘)
1、互聯網時代特征“快”
2、互聯網時代對人性化軟件的迫切要求
3、互聯網時代產品特點
4、技術的多樣性
5、精益創業
6、敏捷項目管理
7、DevOps
8、Docker
9、云計算
10、云原生應用
第2個主題:單體架構剖析(簡單剖析單體架構的特點與不足)(30分鐘)
1、單體架構產生的背景
2、單體架構的特征
3、單體架構模式
4、單體架構團隊劃分
5、單體架構出現的問題
6、單體架構模式的不足
7、單體架構的挑戰
8、單體架構問題解決思路
9、傳統應用架構的問題
第3個主題:微服務架構的基礎知識(學習掌握微服務架構的基礎知識)(30分鐘)
1、為什么需要微服務架構?
2、微服務誕生的背景
3、研發團隊:目標、成就感、獎懲、待遇、凝聚力
4、人才培育與成長(人員流動的優勢與弊端)
5、微服務解決的問題
6、微服務架構解決方案
7、微服務架構適用的場景
8、微服務架構適用的企業
9、什么是微服務(MicroService)架構?
10、微服務架構是什么?
11、微服務架構思路
12、微服務的本質
13、微服務架構有哪些特征?
14、微服務架構視圖
15、微服務架構構件
16、微服務架構的數據庫
17、微服務的服務目錄
18、SOA與微服務區別
19、SOA架構特點
20、微服務架構特點
21、微服務架構的優勢
22、微服務架構的劣勢
23、微服務的設計原則
第4個主題:集中微服務框架介紹及選型對比(深入剖析集中微服務框架介紹及選型對比)(90分鐘)
1、Dubbo介紹
2、Dubbo優勢與不足剖析
3、Dubbo的企業應用案例
4、Dubbo適用場景剖析
5、SpringCloud介紹
6、SpringCloud優勢與不足剖析
7、SpringCloud的企業應用案例
8、SpringCloud適用場景剖析
9、Motan介紹
10、Motan優勢與不足剖析
11、Motan的企業應用案例
12、Motan適用場景剖析
13、Servicemesh介紹
14、Servicemesh優勢與不足剖析
15、Servicemesh的企業應用案例
16、Servicemesh適用場景剖析
17、Dubbo、SpringCloud、Motan、Servicemesh選型建議
第5個主題:微服務架構設計(30分鐘)
1、業務需求分析
2、微服務軟件架構體系
3、微服務硬件架構體系
4、微服務部署架構
5、業務模塊劃分
6、高內聚松偶合
7、模塊靈活組裝
8、松耦合,獨立部署
9、SSO單點登錄
10、憑證與鑒權
11、分布式事務一致性思考
12、微服務架構構建
13、REST
14、微服務快速彈性
15、高并發
16、微服務數據特征
17、案例:剖析如何對大型復雜系統進行微服務化
18、案例:剖析OpenStack的微服務化
19、微服務最佳實踐
20、微服務最佳實踐
21、微服務的劃分
22、微服務模板
23、微服務向導
第6個主題:微服務架構的服務治理(微服務架構的服務治理)(60分鐘)
1、微服務框架
2、服務注冊發現
3、集中化配置中心
4、熔斷
5、降級
6、限流
7、自愈
8、過載保護
9、API網關
10、容錯處理
第7個主題:分布式架構概述(介紹分布式架構)(60分鐘)
1、為什么使用分布式架構
2、分布式架構特征
3、CAP理論、BASE思想、RNW理論
4、分布式架構高并發場景設計
5、分布式架構中間件場景應用
a)Zookeeper
b)Kafka
c)消息中間件
d)RocketMQ
6、如何保證分布式架構的高可用
a)復本機制、主從機制、集群
b)異地多中
7、分布式架構高并發場景實戰分析
a)秒殺分布式場景實戰分析
b)搶購分布式場景實戰分析
8、多線程設計實現及案例分析
9、微服務架構的分布式實現
第8個主題:微服務的實施(學習掌握實施微服務的架構)(30分鐘)
1、微服務測試面臨的挑戰
2、黑盒測試、白盒測試
3、自動化單元測試
4、日構建
5、測試驅動開發
6、功能與界面分離設計
7、自動化測試報告
8、微服務的測試策略
9、通過/失敗測試模式(Pass/Fail Patterns)
10、數據驅動測試模式(Data Driven Test Patterns)
11、數據處理事務測試模式(Data Transaction Patterns)
12、集合管理測試模式(Collection Management Patterns)
13、性能測試模式(Performance Patterns)
14、流程處理測試模式(Process Patterns)
15、仿真測試模式(Simulation Patterns)
16、多線程測試模式(Multithreading Patterns)
17、壓力測試模式(Stress-Test Patterns)
18、展現層測試模式(Presentation Layer Patterns)
19、微服務測試等級
a)單元測試
b)組件接口測試
c)API測試
d)端到端測試
e)UI/UE測試
20、FIRST 原則
a)Fast 快速的
b)Isolated 隔離
c)Repeatable 可重復
d)Self-Validating 自驗證
e)Timely 及時的
21、Right-BICEP測試原則
22、CORRECT檢查原則
23、測試相關框架與庫
24、測試用例的組織Given-When-Then
25、測試的過程
26、微服務測試策略
27、微服務測試實踐
28、微服務的PACT測試
29、Pact是什么
30、Pact可以用來做什么
31、Pact的工作原理
32、Pact相關術語
33、Pact適用場景
34、Pact不適用的場景
35、Pact使用實例
36、Pact匹配原則
37、契約測試框架-Pact實踐
第9個主題:微服務的安全機制與OAuth2.0實現(學習掌握微服務的安全機制與OAuth2.0實現)(30分鐘)
1、微服務的安全介紹
2、微服務的安全機制
3、SSO單點登錄
4、憑證與鑒權
5、OAuth2.0是什么
6、OAuth2.0協議
7、OAuth2.0認證授權過程
8、OAuth2.0實現
9、微服務實現OAuth2.0認證
第10個主題:微服務間的異步通信機制(學習掌握微服務間的異步通信機制)(30分鐘)
1、輕量級的通信機制
2、實踐:輕量級通信機制
3、進程獨立
4、分布式架構概念
5、消息隊列
6、RPC
7、分布式協調器
8、微服務架構分布式事務解決方案與實戰
9、CAP理論
10、BASE思想
11、分布式事務一致性實現原理
12、事務特征
13、補償型(TCC)
14、異步確保型(可靠消息最終一致)
15、最大努力通知型
16、案例:剖析微服務分布式架構
第11個主題:微服務的運維(學習掌握微服務運維)(30分鐘)
1、微服務運維介紹
2、微服務集群監控
3、微服務服務治理
4、持續交付的7個最佳實踐
5、鏈路追蹤
6、持續改進
7、線性擴容
8、容量規劃
9、案例:剖析如何運維微服務軟件系統
10、案例:剖析超大型電子商務平臺微服務架構
第二天
第12個主題:微服務的監控與告警(學習了解微服務的監控與告警)(30分鐘)
1、監控——Ganglia、Nagios
第13個主題:微服務架構的日志聚合(學習掌握微服務架構的日志聚合)(30分鐘)
1、日志聚合——Flume、DistributedLog、Graylog
第14個主題:構建微服務的持續交付流水線(構建微服務的持續交付流水線)(30分鐘)
1、什么是持續交付
2、持續交付的發展
3、持續交付的周期模型
4、持續交付的配置管理
5、版本控制
6、依賴管理
7、軟件配置管理
8、環境管理
9、持續交付的前提
10、構建與部署腳本構件
11、建部署腳本化的原則與實踐
12、自動化驗收測試
13、微服務持續交付
14、實踐案例:動手實現持續交付
15、持續集成環境
16、基礎設施
17、實踐:基礎設施自管理
18、藍綠部署
19、灰度發布
第15個主題:微服務架構的實施(微服務的實施與構建)(30分鐘)
1、微服務架構的實施
2、單體架構(CRM)
3、傳統單體架構的弊端
4、面臨的挑戰
5、運維效率低
6、改造策略
7、改造后
8、改造后的系統
9、解決對策
10、服務化
11、服務化架構的演進歷史
12、基于微服務架構改造單體架構的實踐總結
第16個主題:性能調優(軟件架構性能調優)(30分鐘)
1、性能優化的方法論
2、代碼優化及規范設計
3、JVM調優實戰
4、Tomcat/Nginx/RocketMq調優
5、SQL調優
第17個主題:性能優化的方法論(軟件架構性能優化的方法論)(60分鐘)
1、性能優化的方法論
2、軟件性能瓶頸跟蹤與分析
3、系統性能兩個核心概念:吞吐量、延遲
4、吞吐量與延遲之間的關系
5、計算密集型:主要消耗大量CPU資源、不停進行計算。由于依靠CPU性能,一直占用CPU進行計算。
6、IO密集型:磁盤讀取、網絡IO、web服務等任務,主要需要IO的讀取,利用CPU的效率較低,大量時間花費在IO上。
7、緩存化(Redis、Memcache)
8、本地緩存、分布式緩存
9、時空交換思想
10、空間換時間
11、預計算
12、異步調用
13、超時控制
14、合并寫
15、隨機讀寫轉化為順序寫
16、消息隊列
17、從代碼層面調優
18、從算法層面調優
19、從數據庫層面調優
20、從硬件層面調優
21、從網絡層面調優
22、從架構層面調優
23、從語言平臺層面調優
24、從業務邏輯上進行調優
25、采用分布式架構
第18個主題:代碼優化及規范設計(軟件代碼優化及規范設計)(30分鐘)
1、從代碼層面優化性能
2、將磁盤IO轉化為網絡IO
3、將網絡IO轉化為內存讀寫
4、代碼實現批量處理
5、從算法層面優化性能
6、實現多線程、多進程并發處理
7、隨機讀寫轉化為順序讀寫
8、采用列式數據庫
9、采用內存數據庫NoSQL
10、代碼編寫規范設計
11、代碼編寫規范制定
12、代碼走查
13、代碼規范的完善與更新
第19個主題:JVM調優實戰(JVM調優實戰)(60分鐘)
1、JVM調優概述
2、JVM數據類型調優
3、堆(heap)與棧(stack)調優
4、Java對象的大小
5、基本的回收策略
6、垃圾回收流程
7、選擇垃圾回收算法
8、垃圾回收調優
9、垃圾回收的瓶頸
10、引用計數
11、標記清除
12、復制
13、標記整理
14、增量收集
15、分代收集
16、串行收集
17、并行收集
18、并發收集
19、年輕代
20、年老代
21、持久代
22、堆大小設置
23、回收器選擇
24、常見配置參數
25、線程監測
26、內存泄漏檢查
27、垃圾回收的悖論
第20個主題:Tomcat/Nginx/RocketMq調優(中間件Tomcat/Nginx/RocketMq調優)(60分鐘)
1、Tomcat調優概述
2、Tomcat的運行模式
3、Tomcat執行器優化
4、Tomcat配置參數優化
5、Tomcat內存優化
6、Tomcat線程池
7、Tomcat組件優化
8、Tomcat Executor參數優化
9、Tomcat Connector參數優化
10、Tomcat的JVM參數優化
11、Tomcat系統屬性優化
12、Tomcat性能測試工具
13、Nginx調優概述
14、Nginx配置文件調優
15、Nginx進程數調優
16、Nginx使用epoll的I/O模型
17、Nginx內核參數調優
18、Nginx緩存調優
19、Nginx gzip壓縮優化
20、Nginx expires緩存優化
21、Nginx網絡IO事件模型優化
22、Nginx隱藏軟件名稱和版本號
23、Nginx防盜鏈優化
24、Nginx禁止惡意域名解析
25、Nginx禁止通過IP地址訪問網站
26、Nginx HTTP請求方法優化
27、Nginx防DOS攻擊單IP并發連接的控制,與連接速率控制
28、Nginx嚴格設置web站點目錄的權限
29、Nginx將nginx進程以及站點運行于監牢模式
30、Nginx通過robot協議以及HTTP_USER_AGENT防爬蟲優化
31、Nginx配置錯誤頁面根據錯誤碼指定網頁反饋給用戶
32、Nginx日志相關優化訪問日志切割輪詢,不記錄指定元素日志、最小化日志目錄權限
33、Nginx限制上傳到資源目錄的程序被訪問,防止木馬入侵系統破壞文件
34、Nginx FastCGI參數buffer和cache配置文件的優化
35、Nginx php.ini和php-fpm.conf配置文件的優化
36、有關web服務的Linux內核方面深度優化(網絡連接、IO、內存等)
37、Nginx加密傳輸優化(SSL)
38、Nginx web服務器磁盤掛載及網絡文件系統的優化
39、使用nginx cache
40、RocketMq調優概述
41、RocketMq網絡參數
42、RocketMq硬資源限制
43、RocketMq硬盤的模式
44、RocketMq調度機制優化
45、RocketMq mqbroker和mqnamesrv的內存調整
第21個主題:SQL調優(SQL調優)(60分鐘)
1、表結構設計優化
2、庫設計優化
3、預處理SQL
4、批量提交
5、異構索引
6、產品規則
7、簡化SQL
8、加索引
9、刪除索引
10、異步寫
11、讀寫分離
第22個主題:軟件架構及性能調優相關技術培訓總結(對兩天的課程內容進行總結)(30分鐘)
1、微服務架構總結
2、分布式架構總結
3、軟件調優總結
尹老師
多年從事人工智能、深度學習、大數據、區塊鏈、云計算、物聯網研發工作經驗,資深軟件架構師,數學博士,北航移動云計算碩士,Cloudera大數據認證(圖1),項目管理師(PMP)認證(圖2),移動云計算專家,主要研究方向包括人工智能、深度學習、機器學習、數據挖掘、數據分析、大數據、云計算、移動開發、互聯網營銷、電子商務、項目管理等;曾就職于阿里等互聯網企業,IBM、華為等知名大型企業,現任某大型知名互聯網企業首席架構,負責人工智能、深度學習、機器學習、數據挖掘、數據分析、大數據、區塊鏈、云計算、PaaS平臺研發工作。
IT從業近二十年,秉承理論與實踐相結合,在學習中實踐,在實踐中學習,積累了豐富的理論與實踐經驗,并且樂于將自己的經驗分享。尹老師具有敏銳的目光與頭腦,發現并集成整合社會資源,為企業節省資源并創造價值,達到為合作伙伴創收的目的。曾為多家國內知名企業提供培訓與咨詢,包含阿里集團、華為、中國移動、中國電信、中國聯通、當當網、中石油、中石化、中國電網、中國銀行、中國工商銀行、浦發銀行、阿爾卡特朗訊、中航國際等。擁有人工智能、深度學習、機器學習、數據挖掘、數據分析、大數據、區塊鏈、物聯網、大流量、高并發、分布式的大型網站架構和設計經驗。曾主導過多個人工智能、深度學習、機器學習、數據挖掘、數據分析、區塊鏈、物聯網、私有云、公有云建設項目,早些年也主導過ERP、CMS等軟件項目,積累了豐富的實踐經驗,這些項目中包含多個數百萬、上千萬的大型項目。項目經歷:呼叫中心人工智能客服研發項目、貴州省政府云呼叫中心建設項目、廣東發展銀行電營、運維大數據分析項目、中石油工程設計西南分公司云計算項目評審委員、中石油大數據挖掘項目,電商庫存預測大數據分析項目、大型ERP、電子商務、CRM、電子政務等多個項目。
尹老師在工作中研究新技術、新框架、及時更新知識體系,并長期堅持編寫架構核心代碼。在技術平臺方面,善于TensorFlow、Keras、Hadoop、Spark、Docker、Kubernetes、OpenStack、Storm等技術平臺的應用與運維。深入理解TensorFlow、Keras、Hadoop、HDFS、HBase、MapReduce、Zookeeper、Hive、Sqoop、BigTable 等人工智能、大數據技術和開源框架理論。對于云計算體系有深刻認識,及獨到的見解,如OpenStack的技術架構、安裝部署、運維等。在移動云計算方面,善于設計與建設云計算體系;也善于移動云計算相關的咨詢與培訓。在項目管理方面,善于使用敏捷項目管理方法,把客戶的需求變更作為常態,作為軟件架構設計的一部分,減少需求變更帶來的返工;善于捕捉、挖掘、分析客戶需求,為用戶提供滿意的產品。
講師經驗
1、阿里巴巴集團云計算、大數據、區塊鏈、物聯網咨詢師
2、百度云計算、大數據、區塊鏈、物聯網咨詢師及講師
3、中國移動多省人工智能、大數據、區塊鏈、物聯網、云計算特聘講師
4、中國移動多省Docker特聘講師
5、中國移動研究院微特聘講師
6、中國聯通總部人工智能、大數據、區塊鏈、物聯網、云計算特聘講師
7、中國電信人工智能、大數據、區塊鏈、物聯網、云計算、虛擬化特約講師
8、中國人民銀行人工智能、大數據、區塊鏈、物聯網特聘講師
9、中國工商銀行人工智能、大數據、區塊鏈、物聯網講師
10、花旗銀行人工智能、大數據、區塊鏈、物聯網講師
11、招商銀行人工智能、大數據調優、區塊鏈、物聯網講師
12、中信銀行人工智能、分布式數據庫、區塊鏈、物聯網講師
13、中國航天三院人工智能、大數據、區塊鏈、物聯網咨詢師
14、中國石油人工智能、大數據、區塊鏈、物聯網、云計算特聘講師
15、中國石化人工智能、大數據、云計算特聘講師
16、中國電力科學研究院流計算特聘講師
17、西安電信十所人工智能、大數據架構設計、區塊鏈、物聯網講師
18、RedHat(中國)大數據咨詢師
19、中電28所人工智能、大數據、區塊鏈、物聯網特聘講師
20、北京中電普華人工智能、大數據、區塊鏈、物聯網特聘講師
21、中國石油東方地球物理公司大數據咨詢師
22、當當網人工智能、云計算、大數據咨詢師
23、北航人工智能、云計算、大數據、區塊鏈、物聯網特聘企業講師
24、阿爾卡特-朗訊(Alcatel-Lucent)虛擬化與OpenStack培訓特約講師
25、中石油工程設計西南分公司云計算數據中心建設項目
26、廣東發展信用卡精準營銷項目
27、廣東發展銀行電營、運維大數據分析項目
28、電商庫存預測大數據分析項目
29、中航國際大綜貿易云計算規劃項目咨詢、培訓講師
30、北京民生軟件SaaS平臺研發咨詢師
31、北京立達資本項目管理信息系統解決方案咨詢師
32、曾任大型ERP、電子商務、CRM、電子政務等項目經理
項目經驗
1、云呼叫中心人工智能客服項目研發
2、云呼叫中心PaaS平臺首席架構師
3、貴州省政府云呼叫中心建設項目
4、廣東發展信用卡智能精準營銷項目
5、廣東發展銀行電營、運維大數據分析、區塊鏈、物聯網項目
6、中石油工程設計西南分公司云計算項目評審委員、培訓講師
7、中石油人工智能、大數據挖掘、區塊鏈、物聯網項目,項目經理
8、電商庫存預測大數據分析項目
9、智能物流、智能供應鏈管理項目
10、中航國際大綜貿易云計算規劃項目咨詢、培訓講師
11、北京民生軟件SaaS平臺研發咨詢師
12、北京立達資本項目管理信息系統解決方案咨詢師
13、曾任大型ERP、電子商務、CRM、電子政務等多個項目的項目經理
我要預訂
咨詢電話:027-5111 9925 , 027-5111 9926手機:18971071887郵箱:Service@mingketang.com