軟件架構(gòu)及性能調(diào)優(yōu)相關(guān)技術(shù)培訓(xùn)
講師:尹立慶 瀏覽次數(shù):2582
課程描述INTRODUCTION
軟件架構(gòu)相關(guān)技術(shù)培訓(xùn)
· 高層管理者· IT人士· 軟件工程師· 技術(shù)總監(jiān)
培訓(xùn)講師:尹立慶
課程價格:¥元/人
培訓(xùn)天數(shù):2天
日程安排SCHEDULE
課程大綱Syllabus
軟件架構(gòu)相關(guān)技術(shù)培訓(xùn)
課程特色
互聯(lián)網(wǎng)時代的到來,使得互聯(lián)網(wǎng)上的產(chǎn)品具有創(chuàng)新成本低、需求變化快、用戶群體大等特點,促使業(yè)務(wù)不斷擴大,軟件功能持續(xù)增加,導(dǎo)致單體架構(gòu)的維護成本、人員學(xué)習(xí)成本、缺陷修復(fù)成本、增加新功能的成本以及系統(tǒng)擴展成本等都在急劇增加,單塊架構(gòu)無法適應(yīng)互聯(lián)網(wǎng)時代的快速變化,面臨著越來越多的挑戰(zhàn),一方面,代碼的可維護性、擴展性、靈活性在降低;而另一方面,系統(tǒng)的測試成本、構(gòu)建成本以及維護成本在顯著增加。因此,隨著項目或者產(chǎn)品規(guī)模的不斷擴大,單塊架構(gòu)應(yīng)用的改造與重構(gòu)勢在必行。
微服務(wù)架構(gòu)隨著RESTful、容器技術(shù)、云計算、DevOps、持續(xù)交付、敏捷項目管理等IT技術(shù)的深入應(yīng)用,有效的解決了互聯(lián)網(wǎng)時代遇到的眾多挑戰(zhàn),因此微服務(wù)架構(gòu)深受企業(yè)的歡迎,并在企業(yè)內(nèi)部所采用。
培訓(xùn)目標(biāo)
1、 學(xué)習(xí)掌握微服務(wù)架構(gòu)的基礎(chǔ)知識;
2、 學(xué)習(xí)掌握常見的集中微服務(wù)框架介紹及選型對比(dubbo、springCloud、motan、servicemesh);
3、 使學(xué)員理解微服務(wù)技術(shù)架構(gòu)的服務(wù)治理(熔斷、降級、限流、自愈、過載保護);
4、 使學(xué)員理解微服務(wù)技術(shù)架構(gòu)本質(zhì)以及設(shè)計的原則;
5、 使學(xué)員理解分布式架構(gòu)中高并發(fā)場景設(shè)計及實戰(zhàn)分析(秒殺、搶購);
6、 使學(xué)員理解分布式架構(gòu)中間件場景應(yīng)用(zookeeper kafka、rocketmq);
7、 使學(xué)員理解如何保證分布式架構(gòu)的高可用;
8、 使學(xué)員理解多線程設(shè)計實現(xiàn)及案例分析;
9、 使學(xué)員理解性能優(yōu)化的方法論;
10、 使學(xué)員理解代碼優(yōu)化及規(guī)范設(shè)計;
11、 使學(xué)員理解JVM調(diào)優(yōu)實戰(zhàn);
12、 使學(xué)員理解Tomcat/Nginx/RocketMq調(diào)優(yōu);
13、 使學(xué)員理解Sql調(diào)優(yōu);
14、 學(xué)習(xí)掌握微服務(wù)間的異步通信機制;
15、 學(xué)習(xí)了解微服務(wù)的監(jiān)控與告警;
16、 構(gòu)建微服務(wù)的持續(xù)交付流水線;
17、 使學(xué)員深入理解分布式的技術(shù)原理以及應(yīng)用場景;
18、 使學(xué)員學(xué)會設(shè)計微服務(wù)架構(gòu);
19、 解決企業(yè)敏捷項目管理持續(xù)升級的運維管理問題;
20、 使學(xué)員能學(xué)會監(jiān)控、服務(wù)治理等工作;
21、 提供解決問題的方法及思路,避免講解編碼怎么實現(xiàn),編碼實現(xiàn)可以通過補充材料的方式提供,供研發(fā)人員線下學(xué)習(xí)。
22、 適當(dāng)增加一些研發(fā)人員自我管理及自我提升方面的思路,如時間管理、自我管理等,不需要大篇幅講解。
培訓(xùn)對象
1、 本課程適合于企業(yè)IT架構(gòu)師、技術(shù)經(jīng)理等角色;
2、 本課程適合于軟件高級開發(fā)工程師;
3、 本課程適合于業(yè)務(wù)需求人員;
4、 本課程適合于企業(yè)高層管理人員;
5、 本課程適合于IT運維人員;
課程內(nèi)容:
第1個主題: 互聯(lián)網(wǎng)時代的架構(gòu)演變
1、 互聯(lián)網(wǎng)時代特征“快”
2、 互聯(lián)網(wǎng)時代對人性化軟件的迫切要求
3、 互聯(lián)網(wǎng)時代產(chǎn)品特點
4、 技術(shù)的多樣性
5、 精益創(chuàng)業(yè)
6、 敏捷項目管理
7、 DevOps
8、 Docker
9、 云計算
10、 云原生應(yīng)用
第2個主題: 單體架構(gòu)剖析(簡單剖析單體架構(gòu)的特點與不足)
1、 單體架構(gòu)產(chǎn)生的背景
2、 單體架構(gòu)的特征
3、 單體架構(gòu)模式
4、 單體架構(gòu)團隊劃分
5、 單體架構(gòu)出現(xiàn)的問題
6、 單體架構(gòu)模式的不足
7、 單體架構(gòu)的挑戰(zhàn)
8、 單體架構(gòu)問題解決思路
9、 傳統(tǒng)應(yīng)用架構(gòu)的問題
第3個主題: 微服務(wù)架構(gòu)的基礎(chǔ)知識(學(xué)習(xí)掌握微服務(wù)架構(gòu)的基礎(chǔ)知識)
1、 為什么需要微服務(wù)架構(gòu)?
2、 微服務(wù)誕生的背景
3、 研發(fā)團隊:目標(biāo)、成就感、獎懲、待遇、凝聚力
4、 人才培育與成長(人員流動的優(yōu)勢與弊端)
5、 微服務(wù)解決的問題
6、 微服務(wù)架構(gòu)解決方案
7、 微服務(wù)架構(gòu)適用的場景
8、 微服務(wù)架構(gòu)適用的企業(yè)
9、 什么是微服務(wù)(MicroService)架構(gòu)?
10、 微服務(wù)架構(gòu)是什么?
11、 微服務(wù)架構(gòu)思路
12、 微服務(wù)的本質(zhì)
13、 微服務(wù)架構(gòu)有哪些特征?
14、 微服務(wù)架構(gòu)視圖
15、 微服務(wù)架構(gòu)構(gòu)件
16、 微服務(wù)架構(gòu)的數(shù)據(jù)庫
17、 微服務(wù)的服務(wù)目錄
18、 SOA與微服務(wù)區(qū)別
19、 SOA架構(gòu)特點
20、 微服務(wù)架構(gòu)特點
21、 微服務(wù)架構(gòu)的優(yōu)勢
22、 微服務(wù)架構(gòu)的劣勢
23、 微服務(wù)的設(shè)計原則
第4個主題: 集中微服務(wù)框架介紹及選型對比(深入剖析集中微服務(wù)框架介紹及選型對比)
1、 Dubbo介紹
2、 Dubbo優(yōu)勢與不足剖析
3、 Dubbo的企業(yè)應(yīng)用案例
4、 Dubbo適用場景剖析
5、 SpringCloud介紹
6、 SpringCloud優(yōu)勢與不足剖析
7、 SpringCloud的企業(yè)應(yīng)用案例
8、 SpringCloud適用場景剖析
9、 Motan介紹
10、 Motan優(yōu)勢與不足剖析
11、 Motan的企業(yè)應(yīng)用案例
12、 Motan適用場景剖析
13、 Servicemesh介紹
14、 Servicemesh優(yōu)勢與不足剖析
15、 Servicemesh的企業(yè)應(yīng)用案例
16、 Servicemesh適用場景剖析
17、 Dubbo、SpringCloud、Motan、Servicemesh選型建議
第5個主題: 微服務(wù)架構(gòu)設(shè)計
1、 業(yè)務(wù)需求分析
2、 微服務(wù)軟件架構(gòu)體系
3、 微服務(wù)硬件架構(gòu)體系
4、 微服務(wù)部署架構(gòu)
5、 業(yè)務(wù)模塊劃分
6、 高內(nèi)聚松偶合
7、 模塊靈活組裝
8、 松耦合,獨立部署
9、 SSO單點登錄
10、 憑證與鑒權(quán)
11、 分布式事務(wù)一致性思考
12、 微服務(wù)架構(gòu)構(gòu)建
13、 REST
14、 微服務(wù)快速彈性
15、 高并發(fā)
16、 微服務(wù)數(shù)據(jù)特征
17、 案例:剖析如何對大型復(fù)雜系統(tǒng)進行微服務(wù)化
18、 案例:剖析OpenStack的微服務(wù)化
19、 微服務(wù)*實踐
20、 微服務(wù)*實踐
21、 微服務(wù)的劃分
22、 微服務(wù)模板
23、 微服務(wù)向?qū)?nbsp;
第6個主題: 微服務(wù)架構(gòu)的服務(wù)治理(微服務(wù)架構(gòu)的服務(wù)治理)
1、 微服務(wù)框架
2、 服務(wù)注冊發(fā)現(xiàn)
3、 集中化配置中心
4、 熔斷
5、 降級
6、 限流
7、 自愈
8、 過載保護
9、 API網(wǎng)關(guān)
10、 容錯處理
第7個主題: 分布式架構(gòu)概述(介紹分布式架構(gòu))
1、 為什么使用分布式架構(gòu)
2、 分布式架構(gòu)特征
3、 CAP理論、BASE思想、RNW理論
4、 分布式架構(gòu)高并發(fā)場景設(shè)計
5、 分布式架構(gòu)中間件場景應(yīng)用
a) Zookeeper
b) Kafka
c) 消息中間件
d) RocketMQ
6、 如何保證分布式架構(gòu)的高可用
a) 復(fù)本機制、主從機制、集群
b) 異地多中
7、 分布式架構(gòu)高并發(fā)場景實戰(zhàn)分析
a) 秒殺分布式場景實戰(zhàn)分析
b) 搶購分布式場景實戰(zhàn)分析
8、 多線程設(shè)計實現(xiàn)及案例分析
9、 微服務(wù)架構(gòu)的分布式實現(xiàn)
第8個主題: 微服務(wù)的實施(學(xué)習(xí)掌握實施微服務(wù)的架構(gòu))
1、 微服務(wù)測試面臨的挑戰(zhàn)
2、 黑盒測試、白盒測試
3、 自動化單元測試
4、 日構(gòu)建
5、 測試驅(qū)動開發(fā)
6、 功能與界面分離設(shè)計
7、 自動化測試報告
8、 微服務(wù)的測試策略
9、 通過/失敗測試模式(Pass/Fail Patterns)
10、 數(shù)據(jù)驅(qū)動測試模式(Data Driven Test Patterns)
11、 數(shù)據(jù)處理事務(wù)測試模式(Data Transaction Patterns)
12、 集合管理測試模式(Collection Management Patterns)
13、 性能測試模式(Performance Patterns)
14、 流程處理測試模式(Process Patterns)
15、 仿真測試模式(Simulation Patterns)
16、 多線程測試模式(Multithreading Patterns)
17、 壓力測試模式(Stress-Test Patterns)
18、 展現(xiàn)層測試模式(Presentation Layer Patterns)
19、 微服務(wù)測試等級
a) 單元測試
b) 組件接口測試
c) API測試
d) 端到端測試
e) UI/UE測試
20、 FIRST 原則
a) Fast 快速的
b) Isolated 隔離
c) Repeatable 可重復(fù)
d) Self-Validating 自驗證
e) Timely 及時的
21、 Right-BICEP測試原則
22、 CORRECT檢查原則
23、 測試相關(guān)框架與庫
24、 測試用例的組織Given-When-Then
25、 測試的過程
26、 微服務(wù)測試策略
27、 微服務(wù)測試實踐
28、 微服務(wù)的PACT測試
29、 Pact是什么
30、 Pact可以用來做什么
31、 Pact的工作原理
32、 Pact相關(guān)術(shù)語
33、 Pact適用場景
34、 Pact不適用的場景
35、 Pact使用實例
36、 Pact匹配原則
37、 契約測試框架-Pact實踐
第9個主題: 微服務(wù)的安全機制與OAuth2.0實現(xiàn)(學(xué)習(xí)掌握微服務(wù)的安全機制與OAuth2.0實現(xiàn))
1、 微服務(wù)的安全介紹
2、 微服務(wù)的安全機制
3、 SSO單點登錄
4、 憑證與鑒權(quán)
5、 OAuth2.0是什么
6、 OAuth2.0協(xié)議
7、 OAuth2.0認證授權(quán)過程
8、 OAuth2.0實現(xiàn)
9、 微服務(wù)實現(xiàn)OAuth2.0認證
第10個主題: 微服務(wù)間的異步通信機制(學(xué)習(xí)掌握微服務(wù)間的異步通信機制)
1、 輕量級的通信機制
2、 實踐:輕量級通信機制
3、 進程獨立
4、 分布式架構(gòu)概念
5、 消息隊列
6、 RPC
7、 分布式協(xié)調(diào)器
8、 微服務(wù)架構(gòu)分布式事務(wù)解決方案與實戰(zhàn)
9、 CAP理論
10、 BASE思想
11、 分布式事務(wù)一致性實現(xiàn)原理
12、 事務(wù)特征
13、 補償型(TCC)
14、 異步確保型(可靠消息最終一致)
15、 *努力通知型
16、 案例:剖析微服務(wù)分布式架構(gòu)
第11個主題: 微服務(wù)的運維(學(xué)習(xí)掌握微服務(wù)運維)
1、 微服務(wù)運維介紹
2、 微服務(wù)集群監(jiān)控
3、 微服務(wù)服務(wù)治理
4、 持續(xù)交付的7個*實踐
5、 鏈路追蹤
6、 持續(xù)改進
7、 線性擴容
8、 容量規(guī)劃
9、 案例:剖析如何運維微服務(wù)軟件系統(tǒng)
10、 案例:剖析超大型電子商務(wù)平臺微服務(wù)架構(gòu)
第12個主題: 微服務(wù)的監(jiān)控與告警(學(xué)習(xí)了解微服務(wù)的監(jiān)控與告警)
1、 監(jiān)控——Ganglia、Nagios
第13個主題: 微服務(wù)架構(gòu)的日志聚合(學(xué)習(xí)掌握微服務(wù)架構(gòu)的日志聚合)
1、 日志聚合——Flume、DistributedLog、Graylog
第14個主題: 構(gòu)建微服務(wù)的持續(xù)交付流水線(構(gòu)建微服務(wù)的持續(xù)交付流水線)
1、 什么是持續(xù)交付
2、 持續(xù)交付的發(fā)展
3、 持續(xù)交付的周期模型
4、 持續(xù)交付的配置管理
5、 版本控制
6、 依賴管理
7、 軟件配置管理
8、 環(huán)境管理
9、 持續(xù)交付的前提
10、 構(gòu)建與部署腳本構(gòu)件
11、 建部署腳本化的原則與實踐
12、 自動化驗收測試
13、 微服務(wù)持續(xù)交付
14、 實踐案例:動手實現(xiàn)持續(xù)交付
15、 持續(xù)集成環(huán)境
16、 基礎(chǔ)設(shè)施
17、 實踐:基礎(chǔ)設(shè)施自管理
18、 藍綠部署
19、 灰度發(fā)布
第15個主題: 微服務(wù)架構(gòu)的實施(微服務(wù)的實施與構(gòu)建)
1、 微服務(wù)架構(gòu)的實施
2、 單體架構(gòu)(CRM)
3、 傳統(tǒng)單體架構(gòu)的弊端
4、 面臨的挑戰(zhàn)
5、 運維效率低
6、 改造策略
7、 改造后
8、 改造后的系統(tǒng)
9、 解決對策
10、 服務(wù)化
11、 服務(wù)化架構(gòu)的演進歷史
12、 基于微服務(wù)架構(gòu)改造單體架構(gòu)的實踐總結(jié)
第16個主題: 性能調(diào)優(yōu)(軟件架構(gòu)性能調(diào)優(yōu))
1、 性能優(yōu)化的方法論
2、 代碼優(yōu)化及規(guī)范設(shè)計
3、 JVM調(diào)優(yōu)實戰(zhàn)
4、 Tomcat/Nginx/RocketMq調(diào)優(yōu)
5、 SQL調(diào)優(yōu)
第17個主題: 性能優(yōu)化的方法論(軟件架構(gòu)性能優(yōu)化的方法論)
1、 性能優(yōu)化的方法論
2、 軟件性能瓶頸跟蹤與分析
3、 系統(tǒng)性能兩個核心概念:吞吐量、延遲
4、 吞吐量與延遲之間的關(guān)系
5、 計算密集型:主要消耗大量CPU資源、不停進行計算。由于依靠CPU性能,一直占用CPU進行計算。
6、 IO密集型:磁盤讀取、網(wǎng)絡(luò)IO、web服務(wù)等任務(wù),主要需要IO的讀取,利用CPU的效率較低,大量時間花費在IO上。
7、 緩存化(Redis、Memcache)
8、 本地緩存、分布式緩存
9、 時空交換思想
10、 空間換時間
11、 預(yù)計算
12、 異步調(diào)用
13、 超時控制
14、 合并寫
15、 隨機讀寫轉(zhuǎn)化為順序?qū)?nbsp;
16、 消息隊列
17、 從代碼層面調(diào)優(yōu)
18、 從算法層面調(diào)優(yōu)
19、 從數(shù)據(jù)庫層面調(diào)優(yōu)
20、 從硬件層面調(diào)優(yōu)
21、 從網(wǎng)絡(luò)層面調(diào)優(yōu)
22、 從架構(gòu)層面調(diào)優(yōu)
23、 從語言平臺層面調(diào)優(yōu)
24、 從業(yè)務(wù)邏輯上進行調(diào)優(yōu)
25、 采用分布式架構(gòu)
第18個主題: 代碼優(yōu)化及規(guī)范設(shè)計(軟件代碼優(yōu)化及規(guī)范設(shè)計)
1、 從代碼層面優(yōu)化性能
2、 將磁盤IO轉(zhuǎn)化為網(wǎng)絡(luò)IO
3、 將網(wǎng)絡(luò)IO轉(zhuǎn)化為內(nèi)存讀寫
4、 代碼實現(xiàn)批量處理
5、 從算法層面優(yōu)化性能
6、 實現(xiàn)多線程、多進程并發(fā)處理
7、 隨機讀寫轉(zhuǎn)化為順序讀寫
8、 采用列式數(shù)據(jù)庫
9、 采用內(nèi)存數(shù)據(jù)庫NoSQL
10、 代碼編寫規(guī)范設(shè)計
11、 代碼編寫規(guī)范制定
12、 代碼走查
13、 代碼規(guī)范的完善與更新
第19個主題: JVM調(diào)優(yōu)實戰(zhàn)(JVM調(diào)優(yōu)實戰(zhàn))
1、 JVM調(diào)優(yōu)概述
2、 JVM數(shù)據(jù)類型調(diào)優(yōu)
3、 堆(heap)與棧(stack)調(diào)優(yōu)
4、 Java對象的大小
5、 基本的回收策略
6、 垃圾回收流程
7、 選擇垃圾回收算法
8、 垃圾回收調(diào)優(yōu)
9、 垃圾回收的瓶頸
10、 引用計數(shù)
11、 標(biāo)記清除
12、 復(fù)制
13、 標(biāo)記整理
14、 增量收集
15、 分代收集
16、 串行收集
17、 并行收集
18、 并發(fā)收集
19、 年輕代
20、 年老代
21、 持久代
22、 堆大小設(shè)置
23、 回收器選擇
24、 常見配置參數(shù)
25、 線程監(jiān)測
26、 內(nèi)存泄漏檢查
27、 垃圾回收的悖論
第20個主題: Tomcat/Nginx/RocketMq調(diào)優(yōu)(中間件Tomcat/Nginx/RocketMq調(diào)優(yōu))
1、 Tomcat調(diào)優(yōu)概述
2、 Tomcat的運行模式
3、 Tomcat執(zhí)行器優(yōu)化
4、 Tomcat配置參數(shù)優(yōu)化
5、 Tomcat內(nèi)存優(yōu)化
6、 Tomcat線程池
7、 Tomcat組件優(yōu)化
8、 Tomcat Executor參數(shù)優(yōu)化
9、 Tomcat Connector參數(shù)優(yōu)化
10、 Tomcat的JVM參數(shù)優(yōu)化
11、 Tomcat系統(tǒng)屬性優(yōu)化
12、 Tomcat性能測試工具
13、 Nginx調(diào)優(yōu)概述
14、 Nginx配置文件調(diào)優(yōu)
15、 Nginx進程數(shù)調(diào)優(yōu)
16、 Nginx使用epoll的I/O模型
17、 Nginx內(nèi)核參數(shù)調(diào)優(yōu)
18、 Nginx緩存調(diào)優(yōu)
19、 Nginx gzip壓縮優(yōu)化
20、 Nginx expires緩存優(yōu)化
21、 Nginx網(wǎng)絡(luò)IO事件模型優(yōu)化
22、 Nginx隱藏軟件名稱和版本號
23、 Nginx防盜鏈優(yōu)化
24、 Nginx禁止惡意域名解析
25、 Nginx禁止通過IP地址訪問網(wǎng)站
26、 Nginx HTTP請求方法優(yōu)化
27、 Nginx防DOS攻擊單IP并發(fā)連接的控制,與連接速率控制
28、 Nginx嚴格設(shè)置web站點目錄的權(quán)限
29、 Nginx將nginx進程以及站點運行于監(jiān)牢模式
30、 Nginx通過robot協(xié)議以及HTTP_USER_AGENT防爬蟲優(yōu)化
31、 Nginx配置錯誤頁面根據(jù)錯誤碼指定網(wǎng)頁反饋給用戶
32、 Nginx日志相關(guān)優(yōu)化訪問日志切割輪詢,不記錄指定元素日志、最小化日志目錄權(quán)限
33、 Nginx限制上傳到資源目錄的程序被訪問,防止木馬入侵系統(tǒng)破壞文件
34、 Nginx FastCGI參數(shù)buffer和cache配置文件的優(yōu)化
35、 Nginx php.ini和php-fpm.conf配置文件的優(yōu)化
36、 有關(guān)web服務(wù)的Linux內(nèi)核方面深度優(yōu)化(網(wǎng)絡(luò)連接、IO、內(nèi)存等)
37、 Nginx加密傳輸優(yōu)化(SSL)
38、 Nginx web服務(wù)器磁盤掛載及網(wǎng)絡(luò)文件系統(tǒng)的優(yōu)化
39、 使用nginx cache
40、 RocketMq調(diào)優(yōu)概述
41、 RocketMq網(wǎng)絡(luò)參數(shù)
42、 RocketMq硬資源限制
43、 RocketMq硬盤的模式
44、 RocketMq調(diào)度機制優(yōu)化
45、 RocketMq mqbroker和mqnamesrv的內(nèi)存調(diào)整
第21個主題: SQL調(diào)優(yōu)(SQL調(diào)優(yōu))
1、 表結(jié)構(gòu)設(shè)計優(yōu)化
2、 庫設(shè)計優(yōu)化
3、 預(yù)處理SQL
4、 批量提交
5、 異構(gòu)索引
6、 產(chǎn)品規(guī)則
7、 簡化SQL
8、 加索引
9、 刪除索引
10、 異步寫
11、 讀寫分離
第22個主題: 軟件架構(gòu)及性能調(diào)優(yōu)相關(guān)技術(shù)培訓(xùn)總結(jié)(對兩天的課程內(nèi)容進行總結(jié))
1、 微服務(wù)架構(gòu)總結(jié)
2、 分布式架構(gòu)總結(jié)
3、 軟件調(diào)優(yōu)總結(jié)
軟件架構(gòu)相關(guān)技術(shù)培訓(xùn)
轉(zhuǎn)載:http://www.nywlwx.com/gkk_detail/253112.html
已開課時間Have start time
- 尹立慶
[僅限會員]