課程描述INTRODUCTION
· 技術(shù)主管· 研發(fā)經(jīng)理· 高層管理者· 中層領(lǐng)導(dǎo)
日程安排SCHEDULE
課程大綱Syllabus
互聯(lián)網(wǎng)中間件實戰(zhàn)課程
【課程背景】
隨著互聯(lián)網(wǎng)時代的到來,數(shù)據(jù)量急劇增加,并發(fā)量也越來越大,用戶對于系統(tǒng)的體驗和要求也變得越來越高,從而對系統(tǒng)可靠性、性能及可擴(kuò)展性目標(biāo)也提出了更大的挑戰(zhàn),企業(yè)的架構(gòu)設(shè)計和開發(fā)人員熟悉業(yè)界主流成熟中間件的使用方法和場景就顯得尤為重要。
本課程圍繞業(yè)界主流成熟中間件,以場景化案例方式貫穿整個課程,讓學(xué)員不僅掌握常用成熟中間件的使用方法和場景,同時也能深刻理解如何高效使用和運維中間件,從而最終達(dá)到提高軟件整體的可靠性、性能及可擴(kuò)展性的目標(biāo),從而滿足公司數(shù)字化轉(zhuǎn)型和中心市場化轉(zhuǎn)型的技術(shù)需要。
【課程收益】
掌握業(yè)界主流中間件應(yīng)用場景
掌握業(yè)界主流中間件技術(shù)選型
掌握業(yè)界主流中間件的底層原理
掌握業(yè)界主流中間件的*實踐
【課程對象】CTO、技術(shù)總監(jiān)、研發(fā)負(fù)責(zé)人、架構(gòu)師、研發(fā)工程師、售前技術(shù)工程師、運維工程師
【課程大綱】
一、中間件概述及應(yīng)用場景
1、中間件相關(guān)概念
中間件的定義
為什么使用中間件
2、中間件分類及應(yīng)用場景
消息中間件及應(yīng)用場景分析
緩存類中間件及應(yīng)用場景分析
分布式協(xié)調(diào)類中間件及應(yīng)用場景分析
檢索類中間件及應(yīng)用場景分析
鏈路跟蹤類中間件及應(yīng)用場景分析
鏈路跟蹤類中間件及應(yīng)用場景分析
日志采集類中間件及應(yīng)用場景分析
主流微服務(wù)中間件及應(yīng)用場景分析
數(shù)據(jù)庫中間件之應(yīng)用場景分析
案例:億級流量分布式架構(gòu)設(shè)計思路
二、緩存類中間件
1、緩存
緩存的定義
緩存能解決什么問題?
緩存架構(gòu)之分布式緩存與集中式緩存
緩存的基本原則
2、分布式緩存
分布式緩存的持久化
分布式緩存的高可用
分布式緩存的橫向擴(kuò)展
分布式緩存常見業(yè)務(wù)場景分析
多級緩存
3、分布式緩存之Redis
分布式緩存的持久化
分布式緩存的高可用
分布式緩存之Redis
Redis常用數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用場景
Redis高級特性:發(fā)布/訂閱、過期設(shè)置、事務(wù)支持
Redis持久化策略之rdb與aof
Redis主從復(fù)制
Redis集群
Redis集群擴(kuò)容
如何避免緩存失效,降低緩存性能?
緩存雪崩原理以及如何應(yīng)對?
熱點緩存key重建,優(yōu)化性能
Key高性能巧妙設(shè)計必須遵循的規(guī)范
Redis降低性能的慎用命令
Redis過期清除策略
案例:基于redis實現(xiàn)的緩存會話共享案例分析
上機(jī)實戰(zhàn):redis集群搭建與部署
上機(jī)實戰(zhàn):基于redis實現(xiàn)熱數(shù)據(jù)緩存
上機(jī)實戰(zhàn):基于redis實現(xiàn)分布式鎖
三、消息類中間件
1、消息類中間件
分布式系統(tǒng)之同步調(diào)用案例分析
分布式系統(tǒng)同步調(diào)用存在問題與優(yōu)化方向
消息隊列之分布式系統(tǒng)異步調(diào)用案例分析
消息隊列之削峰填谷案例分析
消息中間件選型與對比
消息隊列編程模型之點對點
消息隊列編程模型之發(fā)布/訂閱
2、消息中間件之Kafka
分布式系統(tǒng)之同步調(diào)用案例分析
分布式消息系統(tǒng)之Kafka
Kafka數(shù)據(jù)分段
Kafka應(yīng)用模型
Kafka集群部署架構(gòu)
Kafka相關(guān)術(shù)語
Kafka下載和安裝
Kafka topic管理
Kafka消息的收發(fā)
Kafka單播、多播
Kafka消費者分組及偏移量
Kafka的日志
Kafka集群配置與消息的收發(fā)
Kafka調(diào)優(yōu)
如何避免消息重復(fù)消費?
如何避免消息堆積?
延時隊列使用
如何提升消息丟列的消息并發(fā)消費能力?
案例:基于kafka設(shè)計的千萬級賬單推送系統(tǒng)
實戰(zhàn):微服務(wù)架構(gòu)下基于消息隊列實現(xiàn)微服務(wù)間數(shù)據(jù)最終一致性
四、分布式協(xié)調(diào)類中間件
1、分布式協(xié)調(diào)中間件
2、分布式協(xié)調(diào)中間件之ZooKeeper
ZooKeeper誕生的背景和它的作用
ZooKeeper單機(jī)版安裝、常用命令
ZooKeeper集群版的安裝、節(jié)點角色
ZooKeeper的接入和使用
ZooKeeper運行機(jī)制剖析
ZooKeeper的典型應(yīng)用場景與實現(xiàn)思路
ZooKeeperWatch機(jī)制的運行流程
案例:基于ZooKeeper實現(xiàn)的服務(wù)注冊與發(fā)現(xiàn)
五、檢索類中間件
1、全文檢索
全文檢索的定義
全文檢索解決了什么問題?
搜索引擎的應(yīng)用場景
2、分布式檢索與分析之ElasticSearch
搜索引擎的應(yīng)用場景
分布式檢索與分析之ElasticSearch
ElasticSearch VS Lucence
ElasticSearch VS Solr
分詞技術(shù)與原理
分詞之倒排索引
基于倒排索引實現(xiàn)的案例演示
ElasticSearch的核心概念
ElasticSearch副本集定義與原理
ElasticSearch分片定義與原理
ElasticSearch安裝與配置注意事項
ElasticSearch可視化之Kibana
IK分詞器的應(yīng)用
ElasticSearch數(shù)據(jù)管理與基本操作
ElasticSearch的查詢
ElasticSearch批量文檔處理
ElasticSearch文檔映射
ElasticSearch集群環(huán)境與原理深入剖析
案例:基于ElasticSearch實現(xiàn)的熱搜評論
六、鏈路跟蹤類中間件
1、微服務(wù)架構(gòu)面臨問題
如何快速發(fā)現(xiàn)問題?
如何判斷故障影響范圍?
如何梳理服務(wù)依賴及依賴的合理性?
如何分析鏈路性能問題及實時容量規(guī)劃
2、微服務(wù)分布式鏈路追蹤技術(shù)實現(xiàn)
分布式鏈路追蹤的定義與應(yīng)用
分布式鏈路追蹤之Spring Cloud Sleuth
Spring Cloud Sleuth相關(guān)概念
Spring Cloud Sleuth鏈路跟蹤數(shù)據(jù)實現(xiàn)
Zipkin實現(xiàn)鏈路跟蹤數(shù)據(jù)的收集、存儲、查找和展現(xiàn)
基于Zipkin+Sleuth整合
如何提升鏈路跟蹤數(shù)據(jù)的存儲性能?
如何確保鏈路跟蹤數(shù)據(jù)不被丟失?
如何確保鏈路跟蹤服務(wù)端離線期間數(shù)據(jù)的留存?
與Skywalking對比
七、日志采集類中間件
1、日志分析面臨問題
傳統(tǒng)日志系統(tǒng)存在問題分析
如何實現(xiàn)日志統(tǒng)一搜集、統(tǒng)一存儲、統(tǒng)一查詢?
2、日志中心解決方案ELK
ELK應(yīng)用案例分析
ELK核心組成
ELK之ElasticSearch
ELK之logstash
ELK之kibana
ELK之工作流程剖析
ELK常見應(yīng)用架構(gòu)
ELK典型應(yīng)用架構(gòu)
海量日志的ELK集群架構(gòu)
案例:基于ELK實現(xiàn)的訪問日志分析
八、主流微服務(wù)中間件
1、分布式系統(tǒng)下數(shù)據(jù)庫面臨問題
本地事務(wù)VS分布式事務(wù)
二階段提交協(xié)議過程與原理分析
二階段提交協(xié)議的缺點
三階段提交
分布式事務(wù)的目標(biāo)
分布式事務(wù)之強(qiáng)一致性應(yīng)用場景
分布式事務(wù)之最終一致性應(yīng)用場景
2、分布式事務(wù)框架之Seata
分布式事務(wù)框架之Seata
Seata支持的4種模式
實戰(zhàn):微服務(wù)架構(gòu)下基于Seata的4種模式實現(xiàn)微服務(wù)間數(shù)據(jù)強(qiáng)一致性
九、數(shù)據(jù)庫中間件
1、分布式系統(tǒng)下數(shù)據(jù)庫面臨問題
什么是分庫分表?
什么情況下需要分庫分表?
分庫分表之垂直分表
分庫分表之垂直分庫
分庫分表之水平分表
分庫分表之水平分庫分表
分庫分表帶來的問題-跨庫關(guān)聯(lián)查詢
分庫分表帶來的問題-分布式事務(wù)
分庫分表帶來的問題-排序翻頁函數(shù)計算
分庫分表帶來的問題-全局主鍵避重
如何選擇合適的數(shù)據(jù)分片鍵?分片鍵常用算法有哪些?
如何自定義分片鍵的算法?
2、分庫分表主流中間件之客戶端分庫分表ShardingJDBC
分庫分表主流中間件之客戶端分庫分表ShardingJDBC
ShardingJDBC對于現(xiàn)有應(yīng)用的SQL或ORM有什么要求或局限性?
分庫分表主流中間件之服務(wù)端分庫分表MyCat
分布式數(shù)據(jù)庫NoSQL
實戰(zhàn):基于ShardingJDBC實現(xiàn)的分庫分表之廣播表、綁定表方案
互聯(lián)網(wǎng)中間件實戰(zhàn)課程
轉(zhuǎn)載:http://santuchuan.cn/gkk_detail/297055.html
已開課時間Have start time
- 陳國星