请询价
適合對象:零基礎,轉行,未來想從事IT行業(yè)
開設課程校區(qū):大連棧程教育
階段一:單體電商項目架構,開發(fā)與上線(1~5周)
第1周 萬丈高樓,地基首要(近有工作內推機會)
在開始系統(tǒng)化成長之初,先從整體上認知大型互聯(lián)網系統(tǒng)架構演變歷程,明確架構師需要具備哪些技術棧與核心能力,之后開始筑基-單體開發(fā)。
課程安排:
【加餐】大廠資深HR教你如何準備簡歷和面試
1、大型互聯(lián)網系統(tǒng)架構演變歷程
2、Java架構師需要具備的技術棧與能力
3、項目演示與單體架構技術選型
4、前后端分離開發(fā)模式與項目分層設計原則
5、聚合工程構建與Spr********.1.x結合
6、基于PDMan工具為數(shù)據庫建模
7、整合HikariCP與MyBatis
8、MyBatis數(shù)據庫逆向生成
9、結合通用Mapper,編寫Restful風格Api
10、事務傳播詳解
11、用戶注冊/登錄流程詳解與功能開發(fā)
12、整合與優(yōu)化Swagger2文檔Api
13、API文檔生成工具Swagger2
14、設置跨域配置實現(xiàn)前后端聯(lián)調
15、整合Log4j打印日志
16、通過日志監(jiān)控Service執(zhí)行時間
17、用戶退出登錄清空Cookie
18、開啟MyBatis日志Sql打印
第2周 分類,推薦,搜索,評價,購物車開發(fā)
本周首先帶大家分析電商首頁需求,然后實現(xiàn)首頁輪播圖功能,分類功能,商品推薦功能,搜索功能,商品評價功能,帶大家開發(fā)電商核心功能模塊-購物車。
課程安排:
1、電商首頁輪播圖功能開發(fā)
2、首頁分類需求分析
3、分類實現(xiàn) - 加載與渲染大分類
4、分類實現(xiàn) - 自連接查詢子分類
5、分類實現(xiàn) - 自定義Mapper實現(xiàn)懶加載子分類展示
6、商品推薦 - 需求分析與Sql查詢
7、商品推薦 - 實現(xiàn)接口與聯(lián)調
8、商品評價 - 數(shù)據庫設計
9、商品評價 - 評論分頁實現(xiàn)
10、商品評價 - 信息脫敏
11、搜索商品 - 功能詳述與Sql編寫
12、搜索商品 - 商品搜索功能實現(xiàn)
13、搜索商品 - 前端業(yè)務與分類搜索查詢
14、搜索商品 - 分類搜索商品查詢實現(xiàn)
15、購物車 - 購物車存儲形式
16、購物車 - 未登錄已登錄加入購物車業(yè)務代碼講解
17、購物車 - 渲染(刷新)購物車
18、購物車 - 刪除商品業(yè)務講解
第3周 地址,訂單,支付,定時任務開發(fā)
本周首先帶大家完成收獲地址的開發(fā),接著開發(fā)電商核心業(yè)務功能-訂單,支付(微信支付,支付寶支付),帶大家設計一個定時任務,實現(xiàn)定時關閉超期未支付訂單功能。
課程安排:
1、收貨地址 - 需求分析與表設計
2、收貨地址 - 增刪改查功能開發(fā)
3、收貨地址 - 默認收貨地址設置
4、確認訂單 - 訂單流程梳理與訂單狀態(tài)
5、確認訂單 - 訂單表設計
6、確認訂單 - 聚合支付中心作用
7、確認訂單 - 提交并且接受訂單信息
8、創(chuàng)建訂單 - 填充新訂單數(shù)據
9、創(chuàng)建訂單 - 保存訂單與子訂單數(shù)據
10、創(chuàng)建訂單 - 扣除商品庫存與訂單狀態(tài)保存
11、創(chuàng)建訂單 - 測試訂單創(chuàng)建與回滾
12、創(chuàng)建訂單 - 創(chuàng)建訂單后,前端的業(yè)務處理
13、微信支付 - 構建商戶端支付成功的回調接口
14、微信支付 - 生成支付二維碼
15、微信支付 - 商戶回調地址與內網穿透
16、支付寶支付 - 異步通知與同步通知
17、定時任務 - 定時關閉超期未支付訂單
18、定時任務 - 定時任務弊端與優(yōu)化方案
第4周 用戶中心 ,訂單/評價管理開發(fā)
本周首先帶大家完成用戶中心模塊,之后一起完成訂單管理,評價管理功能,完善中心首頁, 通過本周的學習,我們已經完全有能力架構與開發(fā)任何一個單體的項目了。
課程安排:
1、用戶中心 - 查詢,修改用戶信息
2、用戶中心 - 使用Hibernate驗證用戶信息
3、上傳頭像 - 定義文件保存位置
4、上傳頭像 - 圖片格式限制以防后門
5、上傳頭像 - 大小限制,以及自定義捕獲異常
6、訂單管理 - 查詢我的訂單Sql
7、訂單管理 - 嵌套查詢分頁Bug解決方案
8、訂單管理 - 操作訂單前的驗證
9、評價管理 - 評價需求分析
10、評價管理 - 待評價商品列表開發(fā)
11、評價管理 - 評價商品功能開發(fā)
12、中心首頁 - 訂單狀態(tài)接口聯(lián)調
13、中心首頁 - 訂單動向接口聯(lián)調
第5周 云服務器部署上線
本周帶大家一起打包與發(fā)布前端項目,后端項目到云服務器上,讓大家擁有一個上線電商項目。
課程安排:
1、云服務器購買及安裝配置(JDK/Tomcat/MariaDB)
2、SpringBoot多環(huán)境部署profile(開發(fā)環(huán)境/生產環(huán)境)
3、SpringBoot項目打成war并發(fā)布到云服務器
4、前端項目發(fā)布
5、解決Cookie異常,測試訂單支付流程
階段二:從單體到高可用集群演進(6-8周)
第6周 LVS+Nginx實現(xiàn)高可用集群
本周開始,我將從單體演進到集群,首先帶大家學習Nginx,負載均衡等相關技術,之后帶大家通過LVS+Keepalived+Nginx實現(xiàn)高可用服務器集群, 從而降低單節(jié)點負載壓力。
課程安排:
1、在Nginx中解決跨域問題
2、在Nginx中配置靜態(tài)資源防盜鏈
3、Nginx模塊化設計
4、Nginx集群負載均衡
5、使用Nginx搭建3臺Tomcat集群
6、使用JMeter測試單節(jié)點與集群并發(fā)異常率
7、使用 Keepalived提高吞吐量
8、負載均衡原理剖析 - ip_hash - url hash 與 least_conn
9、一致性hash算法講解
10、Nginx控制瀏覽器緩存
11、Nginx反向代理緩存
12、使用Nginx配置SSL證書提供HTTPS訪問
13、Nginx單實例存在的問題與集群原理詳解
14、心跳機制與自動重啟實現(xiàn)
15、動靜分離的那些事兒
16、部署Nginx到云端 - 實現(xiàn)動靜分離與虛擬主機
17、部署Nginx到云端 - 測試與日志調試
18、實現(xiàn)Keepalived高可用雙機主備
19、實現(xiàn)Keepalived高可用雙機熱備
20、LVS+Keepalived+Nginx實現(xiàn)高可用集群 負載均衡
第7周 主從復制高可用Redis集群
本周首先會對Redis的架構與原理進行解析,之后整合Redis,實現(xiàn)Redis哨兵,搭建主從復制高可用Redis集群等,帶大家解決緩存雪崩,穿透等問題。
課程安排:
1、Redis架構與原理解析
2、在SpringBoot中整合Redis實現(xiàn)數(shù)據存取
3、基于Redis優(yōu)化首頁輪播圖和分類查詢
4、在Redis中實現(xiàn)訂閱功能
5、Redis中RDB,AOF持久化工作原理解析
6、Redis主從架構模式講解
7、Redis主從復制,無磁盤化復制原理解析
8、過期的緩存Key處理方案
9、Redis哨兵機制與原理解析
10、Redis哨兵落地實現(xiàn)
11、Redis集群解決方案設計
12、Redis集群原理解析
13、主從復制高可用Redis集群搭建
14、SpringBoot集成Redis集群環(huán)境
第8周 Redis緩存雪崩,穿透
本周會幫大家分析緩存雪崩現(xiàn)象,然后為大家講解緩存雪崩的解決方案,緩存穿透的解決方案,并且?guī)Т蠹乙黄鹇涞亟鉀Q對應的問題,為家拓展講解Redis批量查詢的優(yōu)化設計。
課程安排:
1、緩存雪崩現(xiàn)象解析
2、緩存雪崩的解決方案與落地
3、緩存穿透的解決方案與落地
4、拔高-Redis批量查詢的優(yōu)化設計
階段三:分布式架構-逐個擊破分布式核心問題(9-17周)
第9周 分布式會話與單點登錄SSO
本周開始,我們將從集群演進到分布式架構。但在分布式環(huán)境下又會有更多問題等待著我們去解決?,F(xiàn)在我們就來一起解決下分布式會話與單點登錄相關問題。
課程安排:
1、有狀態(tài)會話和無狀態(tài)會話區(qū)別
2、動靜分離架構下的用戶會話解決方案
3、集群與分布式系統(tǒng)中的用戶會話解決方案
4、單個Tomcat會話和全局Redis會話關系
5、通過Redis+Cookie來實現(xiàn)前后端分離與分布式會話
6、配置用戶權限攔截器
7、單點登錄的作用,為何使用SSO
8、多系統(tǒng)跨域的用戶會話問題
9、常見的會話跨域形式(Session 共享)
10、Cookie實現(xiàn)Session跨域與原理
11、spring-session實現(xiàn)與原理
第10周 分布式搜索引擎-ES
本周我們首先會以架構師角度分析目前搜索業(yè)務的弊端,之后由淺入深講解ES,集成ES集群,優(yōu)化商品搜索與分類搜索等功能,拓展2個案例讓大家更加深入的理解ES。
課程安排:
1、ES架構與原理解析
2、ES健康狀況詳解
3、dsl搜索(分詞,分頁,多關鍵字匹配,布爾查詢)
4、出現(xiàn)不合法搜索如何定位問題
5、ES集群原理,shard與replica
6、集成ES集群故障之節(jié)點宕機
7、集成ES集群故障之腦裂問題探討
8、集群環(huán)境中(分布式)文檔的存取原理
9、MySql和ES進行數(shù)據同步的方案分析
10、基于Logstash進行數(shù)據同步
11、基于ES實現(xiàn)商品搜索與分類搜索
12、ES深度分頁下會帶來怎樣的性能問題
13、大數(shù)據量下該如何使用Scoll滾動技術進行搜索
14、ES拓展 - 基于Geo的地理坐標搜索實現(xiàn)
15、ES拓展 - 社交案例,距離我?guī)坠飪鹊暮糜?/p>
第11周 分布式文件系統(tǒng)-FastDFS+OSS
在分布式系統(tǒng)中,文件系統(tǒng)是必須被所有節(jié)點訪問的,為了解決單體架構中文件服務的單一性問題,我們需要學習分布式文件存儲(FastDFS、阿里OSS云存儲)。
課程安排:
1、以架構師角度分析目前文件上傳所存在的問題
2、分布式文件系統(tǒng)技術選型:FastDFS VS 阿里OSS
3、FastDFS架構與原理解析
4、Nginx + FastDFS 實現(xiàn)文件服務器
5、FastDFS整合SpringBoot,修改項目中文件上傳
6、第三方圖片存儲解決方案
7、阿里OSS存儲與實現(xiàn)原理
8、SpringBoot整合阿里OSS SDK與API
9、實現(xiàn)圖片上傳到OSS中
10、在生產環(huán)境中切換文件存儲為FastDFS
第12周 分布式消息隊列-RabbitMQ
本周首先會講解業(yè)界主流消息隊列技術選型,提升大家的技術判斷能力,之后是SpringBoot與RabbitMQ整合,帶大家進行RabbitMQ基礎組件封裝。一起感受代碼設計魅力吧。
課程安排:
1、業(yè)界主流消息隊列與技術選型
2、ActiveMQ集群架構與原理解析
3、RabbitMQ集群架構與原理解析
4、RocketMQ集群架構與原理解析
5、Kafka集群架構與原理解析
6、RabbitMQ核心API與高級特性
7、RabbitMQ與SpringBoot整合實戰(zhàn)(生產端,消費端)
8、RabbitMQ鏡像隊列集群構建
9、RabbitMQ消息可靠性投遞機制實戰(zhàn)
10、作為架構師如何去進行高層次的抽象公共API封裝,消息序列化
11、生產端SDK自動裝配與架構接口定義
12、生產端發(fā)送迅速異步消息
13、生產端RabbitTemplate池化封裝
14、生產端消息序列化反序列化轉換封裝
15、RabbitMQ基礎組件封裝-基礎組件應用演練
16、分布式定時任務組件封裝
17、可靠性消息重試實現(xiàn)集成定時任務組件
18、批量,延遲消息應用與封裝實現(xiàn)
第13周 分布式消息隊列-Kafka
本周我們來深入學習另外一個分布式消息隊列-Kafka,然后基于Kafka搭建一個高吞吐量日志收集平臺,讓大家在實戰(zhàn)中徹底掌握Kafka。
課程安排:
1、Kafka核心API
2、Kafka與SpringBoot整合實戰(zhàn)
3、Kafka高吞吐量-海量日志收集架構設計
4、Kafka高吞吐量-日志輸出(Log4j2)
5、Kafka高吞吐量-日志收集(FileBeat)
6、Kafka高吞吐量-日志過濾(Logstash)
7、Kafka高吞吐量-日志持久化(Elasticsearch)
8、Kafka高吞吐量-日志可視化(Kibana)
9、Kafka監(jiān)控告警watcher監(jiān)控告警實戰(zhàn)
第14周 分布式鎖
在高并發(fā)場景下資源共享問題是比較常見也是必須要解決的。本周我們就學習多種基于分布式鎖的解決方案,對比它們各自的優(yōu)缺點,大家可以根據自己項目實際情況進行選擇。
課程安排:
1、如何使用鎖解決電商項目產生的超賣問題?
2、基于Synchronized鎖解決超賣問題(原始的鎖)
3、基于ReentrantLock鎖解決超賣問題(并發(fā)包中的鎖)
4、樂觀鎖與悲觀鎖,公平鎖與非公平鎖
5、單體應用鎖局限性分析&解決方案
6、基于數(shù)據庫的悲觀鎖實現(xiàn)分布式鎖
7、基于Redis的setnx實現(xiàn)分布式鎖
8、基于Zookeeper的瞬時節(jié)點實現(xiàn)分布式鎖
9、基于Zookeeper的客戶端Curator實現(xiàn)分布式鎖
10、基于Redis的Java客戶端Redisson實現(xiàn)分布式鎖
11、如何在電商項目中引入Redisson分布式鎖
12、多種分布式鎖技術實現(xiàn)方案,如何選擇?
第15周 讀寫分離、分庫分表
隨著系統(tǒng)數(shù)據量的增加,單體數(shù)據庫存儲性能問題日益凸顯,本周我們就來學習2種數(shù)據源讀寫分離和分庫分表的解決方案-MyCAT和Sharding-JDBC。
課程安排:
1、如何選擇垂直切分、水平切分
2、MyCAT快速體驗
3、MyCAT用戶配置
4、MyCAT的schema配置實操
5、MySql主從配置
6、MyCAT分片規(guī)則配置(枚舉分片、取模)
7、MyCAT全局表、子表
8、MyCAT高可用架構原理解析
9、MyCAT高可用架構-反向代理(HAProxy)
10、Sharding-JDBC分片表 (Spring和SpringBoot)
11、Sharding-JDBC全局表(Spring和SpringBoot)
12、Sharding-JDBC子表(Spring和SpringBoot)
第16周 分布式全局ID、分布式事務和數(shù)據一致性
分庫分表后,引發(fā)了ID重復問題、分布式事務等問題,本周我們會學習多種分布式全局ID的解決方案以及多種分布式事務的解決方案。
課程安排:
1、分布式全局ID的多種解決方案
2、使用UUID作為分布式全局主鍵ID
3、基于MyCAT實現(xiàn)全局主鍵ID(本地文件和數(shù)據庫)
4、基于雪花算法實現(xiàn)全局主鍵ID
5、分布式系統(tǒng)CAP、BASE原理和ACID原則
6、分布式事務問題解析
7、基于XA協(xié)議的兩階段提交解決數(shù)據一致性問題
8、使用Atomikos做分布式事務
9、MyCAT與Sharding-JDBC分布式事務
10、基于事務補償機制解決數(shù)據一致性
11、基于本地消息表+定時任務解決數(shù)據一致性
12、基于MQ生產消費模型解決數(shù)據一致性
第17周 分布式接口冪等性,分布式限流
分布式系統(tǒng)中接口繁多,重試機制必不可少,這就需要對接口進行冪等性設計; 當網站流量激增時,我們可以通過分布式限流技術來降低服務器負載壓力。
課程安排:
1、基于索引解決delete操作的冪等性問題
2、基于樂觀鎖解決update的冪等性操作問題
3、通過token機制解決insert的冪等操作問題
4、分布式限流技術選型
5、限流常用算法講解
6、基于Nginx的分布式限流 - IP限制
7、基于Nginx的分布式限流 - 連接數(shù)限制
8、基于Redis+Lua的分布式限流
9、基于網關層實現(xiàn)分布式限流
10、分布式限流落地
11、分布式限流要注意的問題
階段四:基于SpringCloud改造微服務(18-25周)
第18周 微服務架構認知、服務治理-Eureka
本周首先帶大家從架構師的視角認識微服務架構以及SpringCloud和微服務架構的關系, 然后開始學習和改造服務治理Eureka。
課程安排:
1、微服務架構的利弊以及面臨的挑戰(zhàn)
2、微服務的拆分規(guī)范,原則
3、阿里新零售業(yè)務商品中心的微服務化過程
4、SpringCloud和微服務架構的關系
5、SpringCloud整體架構
6、面對瘋狂演進的版本,跟還是不跟?
7、電商系統(tǒng)微服務化的構想
8、服務治理技術選型Eureka VS Consul VS Nacos
9、如何看待Eu*****.0開源計劃擱置對技術選型的影響
10、Eureka體系架構解析
11、創(chuàng)建服務注冊中心
12、服務注冊源碼探秘
13、服務發(fā)現(xiàn),心跳監(jiān)測與服務剔除,服務續(xù)約,服務自保,服務下線
14、心跳檢測和服務續(xù)約源碼探秘
15、啟用心跳和健康度檢查
16、如何保證注冊中心的高可用化,單中心宕機的思考
17、雙備份注冊中心 + 架構心得
18、電商系統(tǒng)用戶模塊集成Eureka
第19周 負載均衡、服務通信與調用
本周我們需要借助Ribbon組件提供的負載均衡功能緩解訪問壓力。同時為了改善編程體驗,我們會學習服務間調用功能-Feign。
課程安排:
1、負載均衡技術選型(客戶端 vs 服務器端)
2、Ribbon體系架構解析
3、為服務消費者添加負載均衡功能
4、懶加載與饑餓加載
5、負載均衡策略詳解
6、探究負載均衡策略源碼
7、深入了解LoadBalanced注解的底層機制
8、沒有銀彈!如何針對具體業(yè)務采用合適的負載均衡策略
9、電商系統(tǒng)用戶模塊統(tǒng)集成Ribbon
10、Ribbon可擴展性的研究-irule機制
11、自定義輪詢式負載均衡策略
12、Feign體系架構解析
13、將Feign應用到服務消費者中
14、深入了解EnableFeignClient注解的底層機制
15、理想的Feign風格項目架構分享
16、配置重試和超時策略
17、深入了解FeignContract協(xié)議解析過程
18、電商系統(tǒng)用戶模塊統(tǒng)集成Feign
第20周 服務容錯-Hystrix
服務異常是生產環(huán)境中再正常不過的情況,輕則一行error log,重則引發(fā)服務雪崩,把上下游的服務集群一波團滅。本周我們就來學習如果使用Hystrix處理服務調用異常。
課程安排:
1、服務容錯的解決方案 (降級和熔斷)
2、Hystrix體系架構解析(依賴隔離、服務降級、請求熔斷)
3、服務降級原理及常用解決方案(FailFast, Timeout和Request Cache)
4、Feign+Hystrix實現(xiàn)Fallback降級
5、Hystrix實現(xiàn)Request Cache降級
6、多級降級方案(自定義降級處理類,二次降級)
7、超時降級 - 規(guī)避與Ribbon共同作用時的坑
8、Hystrix框架降級方案的觸發(fā)方式(源碼品讀)
9、熔斷器以及工作原理
10、Feign集成Hystrix熔斷器
11、Hystrix熔斷器參數(shù)的作用(源碼品讀)
12、降級熔斷的業(yè)務規(guī)劃(規(guī)劃主鏈路/業(yè)務與容災策略)
13、線程隔離 - 核心方案以及工作原理
14、線程池 vs 信號量的優(yōu)缺點比較
15、聚合Hystrix監(jiān)控信息 – Turbine和Hystrix Dashboard
16、通過Turbine聚合Consumer信息
17、電商系統(tǒng)用戶模塊集成Hystrix實現(xiàn)降級熔斷
第21周 分布式配置中心-Config
在項目中一定經常遇到數(shù)不清的配置項和配置文件,管理起來十分頭大,本周就帶你一起玩轉微服務下的配置管理組件-Config。
課程安排:
1、配置中心在微服務中的應用
2、Config核心功能和體系架構
3、了解直聯(lián)式架構,搭建直連式的配置中心
4、搭建配置中心Config-Server
5、搭建Client端直連配置中心
6、資源文件加載流程ResourceRepository源碼分析
7、如何在運行期動態(tài)刷新配置項
8、單中心宕機的思考,如何保證配置中心的高可用化
9、借助Eureka實現(xiàn)高可用性配置中心
10、如何對大規(guī)模集群進行刷新?總線式架構展望
11、對稱性密鑰進行加解密(保存私密信息)
12、分布式配置中心的其他花式用法(環(huán)境配置項隔離/輔助服務降級/平滑灰度等)
13、電商系統(tǒng)用戶注冊功能集成SCC
14、視野拓展-阿里系的分布式配置中心
15、視野拓展-配置中心在阿里新零售業(yè)務中的應用
第22周 消息總線、服務網關
微服務架構中,少不了消息的傳遞和路由,本周我們就來學習一下消息總線-Bus和第二代服務網關-Gateway。
課程安排:
1、Bus體系架構解析
2、Bus的接入方式 (RabbitMQ、Kafka)
3、配置中心改造為總線架構 - RabbitMQ
4、源碼解析-bus-refresh底層機制
5、如何實現(xiàn)自動推送?Git WebHook
6、架構思考-消息總線如何助攻其他業(yè)務場景
7、網關組件選型Gateway vs Zuul
8、Gateway體系架構解析
9、Gateway路由功能詳解(Route)
10、利用Path斷言實現(xiàn)url映射
11、利用After斷言實現(xiàn)定時秒殺場景
12、自定義過濾器實現(xiàn)接口計時功能
13、Gateway過濾器機制源碼解析
14、如何進行權限認證 - 分布式Session的替代方案有哪些
15、基于JWT實現(xiàn)用戶鑒權
16、架構思考-如何借助網關層對服務端各類異常做統(tǒng)一處理
17、拓展-網關層的其他妙用 - 限流
18、為電商系統(tǒng)添加服務網關
第23周 服務調用鏈追蹤、消息驅動
排查線上異常是我們的日常任務,其中重要的方式就是根據日志信息按圖索驥摸排線索,本周我們學習Sleuth+Zipkin+ELK實現(xiàn)日志打標收集和搜索展示。之后拓展組件Stream。
課程安排:
1、調用鏈追溯在微服務中的應用
2、Sleuth核心功能和體系架構解析
3、調用鏈路數(shù)據模型 (Trace、Span、Annotation)
4、整合Sleuth追蹤調用鏈路
5、解碼解析-RequestHeader追蹤調用鏈路的原理
6、Sleuth整合ELK實現(xiàn)日志檢索
7、電商項目用戶模塊集成Sleuth + Zipkin
8、拓展-阿里新零售業(yè)務中商品發(fā)布的削峰策略
9、源碼解析-探秘Stream Binder作用機制
10、基于發(fā)布訂閱實現(xiàn)廣播功能
11、阿里新零售業(yè)務利用發(fā)布訂閱實現(xiàn)商品信息刷新
12、Stream中的消費組和消費分區(qū)機制
13、基于消費組實現(xiàn)輪詢單播功能
14、Stream + MQ插件實現(xiàn)延遲消息、equeue操作
15、架構思考-異常情況導致消息無法被消費怎么辦?
16、借助死信隊列實現(xiàn)異常處理
17、定制自定義異常邏輯
18、電商項目引入Stream + MQ
第24周 微服務下Sentinel流量防控衛(wèi)兵
本周會手把手帶大家學習一個高并發(fā)流量防護的利器-Sentinel,通過對Sentinel的學習和實踐,讓大家有能力解決你項目中的流控,降級等問題。
課程安排:
1、Sentinel哨兵全景分析
2、Sentinel哨兵核心API詳解
3、源碼解析-Sentinel哨兵核心主流程分析
4、Sentinel哨兵SpringAOP注解方式應用
5、Sentinel哨兵與主流框架的適配使用
6、Sentinel哨兵集群流控策與替代方案分享
7、Sentinel哨兵集成Apollo(攜程的開源配置中心)
8、Apollo持久化規(guī)則擴展思路詳解
9、Apollo配置文件解析與ApolloOpenApiClient創(chuàng)建
10、Apollo sentinel-dashboard擴展實現(xiàn)
11、Apollo 客戶端集成sentinel-dashboard
第25周 服務治理的另一條路 - Dubbo
本周屬于拓展學習周,主要以圖文的方式為大家拓展講解Dubbo相關知識,希望通過本章的學習, 大家可以對基于RPC協(xié)議的服務治理有一個深刻的認知。
課程安排:
1、RPC VS HTTP
2、Dubbo架構設計解析
3、Dubbo核心功能講解
4、構建Dubbo注冊中心和Service Provider
5、RPC協(xié)議解析流程
6、構建服務消費者
7、容錯策略,負載均衡
8、基于Dubbo-Admin的服務治理
9、源碼解析-Dubbo調用鏈路解析
10、拓展-阿里系中間件 - HSF
階段五:服務容器化-Docker與K8S(26-30周)
第26周 服務容器化-Docker
微服務架構改造后應用組件繁多,給服務部署帶來了很大的挑戰(zhàn)。本周我們就從熱門技術Docker入手,解決服務部署難題。
課程安排:
1、服務容器化優(yōu)勢和助力
2、服務容器化技術演進之路
3、容器技術選型Docker VS Cloud Foundry
4、Docker快速搭建,Docker整體架構解析
5、容器生命周期管理
6、Dockerfile實戰(zhàn):如何站在巨人的肩膀上,實現(xiàn)快速部署
7、如何實現(xiàn)容器間的網絡訪問和通信管理
8、選擇適合你的容器鏡像倉庫
9、Docker生態(tài)圈:選型和優(yōu)化
10、Docker落地實戰(zhàn),部署微服務
第27周 容器技術-Cloud Foundry
本周為大家講解容器部署另一分支解決方案-Cloud Foundry, 從架構和功能介紹到容器生命周期管理、網絡和數(shù)據服務;逐步向后續(xù)的容器編排延伸。
課程安排:
1、Cloud Foundry整體架構解析
2、Cloud Foundry環(huán)境搭建
3、Cloud Foundry常用命令實戰(zhàn),實現(xiàn)容器生命周期管理
4、Cloud Foundry網絡管理(路由和訪問控制)
5、基于Cloud Foundry網絡特性實現(xiàn)業(yè)務藍綠發(fā)布
6、Cloud Foundry數(shù)據服務管理(關系型數(shù)據庫/緩存/配置管理)
7、如何實現(xiàn)數(shù)據持久層的高可用和業(yè)務連續(xù)性(架構思考)
8、Cloud Foundry容器應用和PaaS平臺雙重管理(Ops & Aps Manager)
9、Cloud Foundry混合容器云架構和實踐
10、Cloud Foundry落地實戰(zhàn),部署微服務
第28周 容器編排-Mesos+ Marathon
本周為大家提供容器編排第1套解決方案-Mesos+Marathon,助力大家搞定容器編排難題,讓你的項目從應用架構向企業(yè)架構過渡。
課程安排:
1、Mesos+Marathon整體架構解析
2、Mesos+Marathon環(huán)境搭建和小試牛刀
3、Mesos資源管理原理剖析與實戰(zhàn)
4、Mesos實現(xiàn)DCOS多類型負載綜合管理
5、Marathon調度器原理剖析與實戰(zhàn)(常駐服務生命周期管理)
6、Marathon應用隔離和依賴管理
7、如何實現(xiàn)無單點、大集群容器編排管理
8、Mesos+Marathon落地實戰(zhàn),部署微服務
第29周 容器編排-K8S
本周我們一起來學習K8S容器編排。我們會以企業(yè)架構師的視野,重新審視容器化編排。
課程安排:
1、K8S整體架構及常用命令
2、K8S調度原理剖析與Pod生命周期管理
3、K8S控制器管理原理剖析與實戰(zhàn)
4、K8S網絡模型和服務訪問管理
5、K8S服務發(fā)現(xiàn)與負載均衡原理剖析與實戰(zhàn)
6、K8S系統(tǒng)分層架構和故障排除思路
7、K8S存儲原理實戰(zhàn)(數(shù)據卷和配置管理)
8、K8S認證授權原理剖析與實戰(zhàn)(安全框架/RBAC)
9、K8S集群監(jiān)控、快速故障排查和業(yè)務連續(xù)性保障
10、如何實現(xiàn)大規(guī)模集群?10節(jié)點->100節(jié)點->1000節(jié)點
11、全鏈路高可用架構升級
12、知識擴展-如何基于容器編排工具實現(xiàn)CI/CD
13、K8S落地實戰(zhàn),部署微服務
第30周 容器彈性擴縮容
本周為大家分享容器彈性擴縮容整體架構思路。我們會采用Cloud Foundry實現(xiàn)資源決策性彈性擴縮容; 采用Mesos+Marathon實現(xiàn)負載驅動型動態(tài)擴縮容;采用K8S增值插件實現(xiàn)全自由擴縮容。
課程安排:
1、資源管理、屬性和配額管理
2、有狀態(tài)應用如何實現(xiàn)彈性伸縮和失效重置
3、容器彈性擴縮容實現(xiàn)資源觸發(fā)、簡單決策
4、容器彈性擴縮容實現(xiàn)負載觸發(fā)、動態(tài)擴縮容
5、容器彈性擴縮容實現(xiàn)更換輪子、自由擴縮容
階段六:高性能網絡通信-Netty與性能調優(yōu)(31~40周)
第31周 高性能網絡通信基石-Netty入門與提高
很多開源產品都使用了Netty作為底層的通信基礎,比如Rocketmq、Dubbo等,在工作中,對數(shù)據通信、數(shù)據同步的場景也經常會使用到,所以這周我們先入門與提高Netty。
課程安排:
1、TCP通信基礎
2、架構師視角解讀Netty技術選型與核心
3、架構拆包粘包 - Netty TCP拆包粘包問題的處理
4、架構序列化- Netty 序列化實戰(zhàn) Marshalling
5、架構序列化 - Netty 序列化實戰(zhàn) Protobuf
6、架構序列化 - Netty自定義協(xié)議棧實戰(zhàn)
7、Netty HTTP協(xié)議棧
第32周 高性能網絡通信基石-Netty佳實戰(zhàn)
本周我們將帶大家提升Netty實戰(zhàn)能力,并掌握Netty在實際開發(fā)中的佳實踐。
課程安排:
1、Netty項目佳實戰(zhàn)- 數(shù)據可靠性通信場景分析與架構設計
2、Netty項目佳實戰(zhàn)- 數(shù)據結構定義與分析(@Spring 與 硬編碼方式定義)
3、Netty項目佳實戰(zhàn)- Server端落地
4、Netty項目佳實戰(zhàn)- Client端落地
5、Netty項目佳實戰(zhàn)- 關于buffer的資源釋放問題詳解
6、應用程序優(yōu)化與測試細節(jié)點講解
第33周 基于Netty打造RPC通信框架-1
本周我們從0到1開發(fā)一個基于Netty的RPC通信框架,從整體架構設計、模塊拆分,到技術落地,手把手帶著小伙伴們感受架構設計與落地之美。
課程安排:
1、實現(xiàn)一個簡單的RPC通信框架設計思路
2、實現(xiàn)一個簡單的RPC通信框架落地
3、架構設計與落地-RPC框架整體架構設計思路
4、架構設計與落地-RPC整體框架API抽象與剝離
5、架構設計與落地-RPC Client 客戶端落地
6、架構設計與落地-RPC Server 服務端落地
第34周 基于Netty打造RPC通信框架-2
有了上一周的學習和積累,本周我們繼續(xù)打造屬于我們自己的RPC通信框架,并完成功能測試。
課程安排:
1、架構設計與落地-RPC Proxy 代理
2、架構設計與落地-RPC Codec編解碼
3、架構設計與落地- RpcCallback與RpcFuture,AQS實現(xiàn)
4、架構設計與落地-RPC彩蛋功能點擴展之與Spring整合思路
5、架構設計與落地-RPC彩蛋功能點擴展之注冊中心整合思路
第35周 應用監(jiān)控與調優(yōu)-工具篇
本周我們先教大家如何迅速發(fā)現(xiàn)系統(tǒng)瓶頸,然后帶大家掌握各種應用監(jiān)控工具,從而為后面的監(jiān)控與調優(yōu)實戰(zhàn)打好基礎。
課程安排:
1、開源的鏈路跟蹤工具及對比
2、Skywalking監(jiān)控Java應用
3、Skywalking監(jiān)控數(shù)據庫
4、Skywalking高可用
5、Skywalking存儲
6、Spring Boot Actuator - 生產可用的應用監(jiān)控工具
7、Prometheus - 監(jiān)控工具
8、Grafana - 監(jiān)控 + 告警工具
9、Tomcat Manager - Tomcat監(jiān)控
10、psi-probe - Tomcat監(jiān)控
11、日志監(jiān)控, 慢SQL監(jiān)控
第36周 應用監(jiān)控與調優(yōu)-技巧與實戰(zhàn)篇
本周我們繼續(xù)學習應用監(jiān)控與調優(yōu),首先我們會學習到各種應用調優(yōu)常用技巧,之后進階并發(fā)編程4板斧,并實戰(zhàn)線程池調優(yōu),Tomcat調優(yōu)的多種方式,綜合實戰(zhàn),加深理解。
課程安排:
1、應用調優(yōu)常用技巧1 - 池化對象,本地異步化(3種方式)
2、應用調優(yōu)常用技巧2- 遠程調用異步化(3種方式),緩存
3、并發(fā)編程4板斧(線程封閉、降低鎖粒度、鎖粗化、無鎖)
4、應用調優(yōu)實戰(zhàn)1 - 定位應用層面性能問題的通用思路與步驟
5、應用調優(yōu)實戰(zhàn)2 - 線程池調優(yōu)
6、Tomcat調優(yōu)1 - 原生Tomcat調優(yōu)配置屬性
7、Tomcat調優(yōu)2 - Spring Boot內嵌式Tomcat調優(yōu)配置屬性
8、Tomcat調優(yōu)3 - Tomcat調優(yōu)手把手
9、應用調優(yōu)案例實戰(zhàn)
第37周 JVM性能調優(yōu)-理論+工具篇
本周我們首先要學習JVM核心算法,工具和參數(shù)。通過本周的學習,我們基本上可以具備JVM調優(yōu)所需的一切準備,為后續(xù)真正的實戰(zhàn)打下堅實的基礎。
課程安排:
1、垃圾回收算法 - 復制, 標記清除,標記整理
2、垃圾回收器 - Serial,Parallel,ParNew,CMS,G1,ZGC
3、垃圾回收器 - 多款回收器如何配合
4、JVM監(jiān)控工具 - jinfo, jps,jstat,jstack,jmap
5、JVM監(jiān)控工具 - jconsole,jvisualvm,jmc,mat
6、GC日志分析工具 - GCEasy與GCPlot
7、線程Dump日志分析工具 - FastThread
8、堆Dump日志分析工具 - HeapHero
9、常用JVM調優(yōu)參數(shù)詳解
第38周 JVM性能調優(yōu)-實戰(zhàn)篇
本周我們進入JVM調優(yōu)實戰(zhàn),通過本周的實戰(zhàn)學習,大家基本上可以解決工作中80%以上JVM相關的性能調優(yōu)問題。
課程安排:
1、調優(yōu)實戰(zhàn)1 - 如何確定小堆內存?
2、調優(yōu)實戰(zhàn)2 - 如何確定大堆內存?
3、調優(yōu)實戰(zhàn)3 - 死鎖分析
4、調優(yōu)實戰(zhàn)4 - 內存溢出問題解決方案(堆內存、Metadataspace區(qū))
5、調優(yōu)實戰(zhàn)4 - 內存溢出問題解決方案(棧溢出、直接內存溢出等)
6、調優(yōu)實戰(zhàn)5 - 垃圾回收器調優(yōu)(吞吐量、STW權衡)
7、調優(yōu)實戰(zhàn)6 - 棧上分配、偏向鎖等對系統(tǒng)調優(yōu)的影響
8、調優(yōu)實戰(zhàn)7 - 升級JDK對系統(tǒng)優(yōu)化的影響
9、調優(yōu)實戰(zhàn)8 - young GC頻繁/Full GC頻繁
10、調優(yōu)實戰(zhàn)9 - 應用CPU占用過高問題分析
11、調優(yōu)實戰(zhàn)10 - 應用無端變得奇慢,而且越來越慢
第39周 數(shù)據庫監(jiān)控與調優(yōu)
本周我們來一起解決數(shù)據庫監(jiān)控與調優(yōu)的問題,通過本周的學習,基本上可以搞定慢查詢,索引等數(shù)據庫重難點性能調優(yōu)問題。
課程安排:
1、數(shù)據庫監(jiān)控 - Prometheus
2、慢查詢日志
3、索引分析與優(yōu)化
4、鎖優(yōu)化,Query Profiler
5、SQL優(yōu)化工具
6、MySQL配置優(yōu)化
7、拓展分享:如何在合適的場景用合適的數(shù)據庫?
8、拓展分享:業(yè)務妥協(xié)會對系統(tǒng)調優(yōu)造成怎樣的影響?
第40周 Linux調優(yōu)與架構調優(yōu)
本周我們將學習Linux與架構優(yōu)化,通過本周及前面幾周的學習,相信大家已經對性能優(yōu)化不再畏懼,反而會躍躍欲試,那就學以致用,盡早的在你的項目中用起來吧。
課程安排:
1、Linux常用監(jiān)控調優(yōu)命令
2、Linux監(jiān)控可視化
3、傳統(tǒng)架構存在的問題
4、去中心化:微服務,無狀態(tài) vs 有狀態(tài)
5、拓展分享:技術方案對業(yè)務優(yōu)化的影響
棧程教育成?于2018年4?29?,?屬于棧程(大連)科技有限公司旗下的IT教育品牌,公司總部位于?連,棧程教育秉承 “專注培養(yǎng)?級軟件?程師”的經營理念,強化項?實戰(zhàn),在 教學產品研發(fā)??不斷精益求精,努?打造實戰(zhàn)型,實?型, 全棧型?級軟件?程師。
棧程教育依托于棧程(大連)科技有限公司的技術和項?,把總 部主要研發(fā)的產品融?IT教育,以“企業(yè)內訓”?格為培養(yǎng)模 式,強化項?實戰(zhàn),企業(yè)講師全部為10年左右的項?經理,把當下主流的編程技術融?到課程當中,增加教育的實?性,實戰(zhàn) 性;同時棧程教育為總部軟件產品研發(fā)輸送?才,棧程(大連)科技有限公司?主產品包括智慧養(yǎng)?,智慧云醫(yī)療,教育ERP系 統(tǒng),智慧旅游,快?租賃系統(tǒng),同城快送系統(tǒng),?校教育系 統(tǒng),?校在線收費系統(tǒng)等;同時棧程教育專注?校項?合作, 已經與?連部分?校簽訂校企合作協(xié)議,同時為各?校提供軟 件技術?持。
?前已開設:Java開發(fā)、Web前端、Python開發(fā)、對?開發(fā)、?數(shù)據開發(fā)等熱?專業(yè),涵蓋:企業(yè)及應?開發(fā)、電?政 務系統(tǒng)、?業(yè)ERP解決?案、電?商務平臺、商業(yè)智能與?數(shù)據 應?等技術領域。棧程教育?度重視學員實際動?能?的培 養(yǎng),通過四個?左右公司內部項?的實戰(zhàn)特訓,?保學員擁有 “獨?解決問題”的技術能?。 棧程教育以主流技術為依托,?薪就業(yè)為導向,企業(yè)項?為 實戰(zhàn),培養(yǎng)?級IT?才為?標,棧程教育-專注培養(yǎng)?級軟件? 程師!實現(xiàn)產業(yè)與教育?度融合。
公司主要軟件產品如下:
汽?租賃系統(tǒng)
智慧云醫(yī)療管理系統(tǒng)
?校的教務在線
智慧養(yǎng)?互聯(lián)?系統(tǒng)
智慧旅游票務?程序
同城快送App
醫(yī)美教育分期系統(tǒng)
教育培訓?業(yè)管理系統(tǒng)