2020 年的時候,工作也三年多了,一直處于溫水煮青蛙的狀態(tài),一直想著學(xué)一些東西,但是好像沒有什么長性,后來一次偶然的機會,開始學(xué)習(xí) SpringCloud + SpringCloud Alibaba,在這期間整理了三十多篇的筆記和幾十個實例項目的代碼。</br>
通過這次的學(xué)習(xí),真的是讓我受益匪淺,從以前只知道 CRUD ,到現(xiàn)在能夠?qū)ξ⒎?wù)有比較深刻的認(rèn)識(當(dāng)然,不光要學(xué)這些東西,還有其它很多),只要你肯定努力,肯定能夠用一個月的時間,從完全不了解微服務(wù)到對微服務(wù)有一個全面的了解。
學(xué)習(xí)筆記
下面是我在學(xué)習(xí)的過程中整理的筆記,我會在接下來的一段時間,整理這些筆記,以文章的形式發(fā)送出來。
項目源代碼
另外,在整個的學(xué)習(xí)過程中,每一個組件,每一個實例,我都親自動手敲了代碼,前前后后加起來有 30 多個子項目,真正包含了微服務(wù)的各個基礎(chǔ)入門知識點,下面是項目的部分截圖:
在項目的 Readme 文件中注明了整個工程的技術(shù)選型和每個子工程的用處:
項目目前已經(jīng)完全公開,另外文中涉及到的所有資料都可以在項目中獲取,地址為:
學(xué)習(xí)腦圖
在整個的學(xué)習(xí)過程中,配合上腦圖的使用,能夠幫助你更全面高效的學(xué)習(xí)整個課程。
學(xué)習(xí)大綱
在接下來的一段時間中,我會將筆記整理出來,以文章的形式發(fā)表,幫助你以一個月的時間,輕松入門 Spring Cloud 和 Spring Alibaba,下面我簡單羅列一下每一天的學(xué)習(xí)知識點:
第一天
前言
微服務(wù)的整體架構(gòu)和理論
spring boot 和 spring cloud 的選型
Spring Cloud + Spring Cloud Alibaba 第一天
第二天
cloud 組件停更說明
父工程 project 創(chuàng)建
父工程 pom 文件編寫
第三天
父工程 pom 文件中 dependencyManagement 和 dependencies 的區(qū)別
支付模塊構(gòu)建8001(上)
支付模塊構(gòu)建(中)
支付模塊構(gòu)建(下)
熱部署
第四天
消費者訂單模塊80(上)
消費者訂單模塊(下)
工程重構(gòu)
第五天
Eureka 基礎(chǔ)知識
Eureka Service 服務(wù)端安裝(單機版)
支付微服務(wù) 8001 入駐 Eureka service
訂單微服務(wù) 80 入駐 Eureka service
第六天
Eureka 集群原理說明
Eureka 集群環(huán)境構(gòu)建
訂單8001,支付80兩服務(wù)入駐 Eureka service 集群
第七天
支付模塊的 provider 進行微服務(wù)集群的配置
actuator 微服務(wù)信息完善
第八天
服務(wù)發(fā)現(xiàn)Discovery
Eureka自我保護的理論知識
如何禁用Eureka的自我保護機制
Eureka的停更說明
第九天
支付服務(wù)provider注冊進zookeeper
臨時節(jié)點還是持久節(jié)點?
訂單服務(wù)consumer注冊進zookeeper
第十天
Consul簡介
安裝并運行Consul
服務(wù)提供者注冊進Consul
服務(wù)消費者注冊進Consul
三個注冊中心的異同點
第十一天
Ribbon入門介紹
Ribbon的負(fù)載均衡和Rest調(diào)用
Ribbon默認(rèn)自帶的負(fù)載均衡規(guī)則
Ribbon負(fù)載規(guī)則替換
第十二天
Ribbon默認(rèn)負(fù)載輪詢算法原理
RoundRobinRule源碼分析
Ribbon之手寫輪詢算法
第十三天
OpenFeign是什么
OpenFeign服務(wù)調(diào)用
OpenFeign超時控制
OpenFeign服務(wù)增強
第十四天
Hystrix是什么
Hystrix停更進維
Hystrix的服務(wù)降級熔斷限流概念初講
Hystrix支付微服務(wù)架構(gòu)
JMeter高并發(fā)壓測后卡頓
第十五天
訂單微服務(wù)調(diào)用支付出現(xiàn)卡頓
降級容錯解決的維度要求
Hystrix之服務(wù)降級支付端fallback
Hystrix之服務(wù)降級消費端fallback
第十六天
Hystrix之全局服務(wù)降級DefaultProperties
Hystrix之通配服務(wù)降級FeignFallback
Hystrix之服務(wù)熔斷理論
Hystrix之服務(wù)熔斷案例(上)
Hystrix之服務(wù)熔斷案例(下)
Hystrix之服務(wù)熔斷總結(jié)
第十七天
Hystrix工作流程最后總結(jié)
Hystrix圖形化Dashboard搭建
Hystrix圖形化Dashboard監(jiān)控實戰(zhàn)
第十八天
getway和zuul的課程說明
getway是什么
getway非阻塞異步模型
getway工作流程
getway9527搭建
getway配置路由的兩種方式
第十九天
getway配置動態(tài)路由
getway常用的Predicate
第二十天
GateWay的Filter
Config分布式配置中心介紹
第二十一天
Config配置總控中心搭建
Config客戶端配置與測試
Config動態(tài)刷新之手動版
第二十二天
Bus消息總線是什么
Bus之RabbitMQ環(huán)境
Bus動態(tài)刷新全局廣播的設(shè)計思想
Bus動態(tài)刷新全局廣播配置實現(xiàn)
Bus動態(tài)刷新定點通知
第二十三天
Stream為什么被引入
Stream是什么以及Binder介紹
Stream的設(shè)計思想
Stream編碼常用注解
Stream消息驅(qū)動之生產(chǎn)者
第二十四天
Stream消息驅(qū)動之消費者
Stream之消息重復(fù)消費
Stream之Group解決消息重復(fù)消費
Stream之消息持久化
第二十五天
Sleuth是什么
Sleuth之zipkin搭建安裝
Sleuth鏈路監(jiān)控展示
Cloud Alibaba簡介
第二十六天
Nacos簡介和下載
Nacos安裝
Nacos之服務(wù)提供者注冊
Nacos之服務(wù)消費者注冊和負(fù)載
Nacos服務(wù)注冊中心對比提升
Nacos之服務(wù)配置中心
Nacos之命名空間分組和dataId之間的關(guān)系
Nacos之DataId配置
Nacos之Group分組方案
Nacos之Namespace方案
第二十七天
Nacos集群--架構(gòu)說明
Nacos持久化切換配置
Nacos之Linux版安裝
Nacos集群配置(上)
Nacos集群配置(下)
第二十八天
sentinel是什么
sentinel下載安裝運行
sentinel初始化監(jiān)控
第二十九天
Sentinel流控規(guī)則簡介
Sentinel流控-QPS直接失敗
Sentinel流控-線程數(shù)直接失敗
Sentinel流控-關(guān)聯(lián)
第三十天
Sentinel流控-預(yù)熱
Sentinel流控-排隊等待
第三十一天
Sentinel降級簡介
Sentinel降級-RT
Sentinel降級-異常比例
Sentinel降級-異常數(shù)
Sentinel熱點key(上)
Sentinel熱點key(下)
第三十二天
Sentinel系統(tǒng)規(guī)則
SentinelResource配置(上)
SentinelResource配置(中)
SentinelResource配置(下)
Sentinel服務(wù)熔斷Ribbon環(huán)境預(yù)說
Sentinel服務(wù)熔斷無配置
Sentinel服務(wù)熔斷只配置fallback
Sentinel服務(wù)熔斷只配置blockHandler
Sentinel服務(wù)熔斷fallback和blockHandler都配置
Sentinel服務(wù)熔斷exceptionnsToIgnore
Sentinel服務(wù)熔斷OpenFeign
Sentinel持久化規(guī)則
第三十三天
分布式事務(wù)問題由來
Seata術(shù)語
Seata-Server安裝
Seata業(yè)務(wù)數(shù)據(jù)庫準(zhǔn)備
第三十四天
Seata之Order-Module配置搭建
Seata之Order-Module擼碼(上)
Seata之Order-Module擼碼(下)
第三十五天
Seata之Storage-Module說明
Seata之Account-Module說明
第三十六天
Seata之@GlobalTransactional驗證
Seata之原理簡介
寫在最后
如今 springcloud 微服務(wù)的重要性已經(jīng)是不言而喻了,幾乎每一個招聘要求上都要求會微服務(wù)的技術(shù)棧,所以不要再猶豫了,花一個月的時間,給自己一個機會,對微服務(wù)有一個全面的認(rèn)識和了解,當(dāng)你學(xué)完這些課程的時候,你會發(fā)現(xiàn),你需要走的路還遠(yuǎn),這不是結(jié)束,而只是一個開始!加油,陌生人,希望你收藏起來,用一個月的時間給自己一個改變。
文中的腦圖,示例源代碼等我已經(jīng)全都整理好進行開源了。