一個小伙伴私信我,他說遇到了一個關于CAS機制的問題,他以為面試官問的是CAS實現單點登錄。心想,這個問題我熟啊,然后就按照單點登錄的思路去回答,結果面試官一直搖頭。他來和我...

一個小伙伴私信我,他說遇到了一個關于CAS機制的問題,他以為面試官問的是CAS實現單點登錄。心想,這個問題我熟啊,然后就按照單點登錄的思路去回答,結果面試官一直搖頭。他來和我...
AQS是AbstractQueuedSynchronizer的簡稱,是并發編程中比較核心的組件。在很多大廠的面試中,面試官對于并發編程的考核要求相對較高,簡單來說,如果你不懂...
當系統并發流量過大的時候,有可能會造成系統被壓垮導致整個服務不可用的問題。 針對這個場景,一般的解決方案是:如果超過這個流量,我們就拒絕提供服務,從而使得我們的服務不會掛掉。...
Nacos作為配置中心,必然需要保證服務節點的高可用性,那么Nacos是如何實現集群的呢? 下面這個圖,表示Nacos集群的部署圖。 Nacos集群工作原理 Nacos作為配...
Nacos 作為配置中心,當應用程序去訪問Nacos動態獲取配置源之后,會緩存到本地內存以及磁盤中。由于Nacos作為動態配置中心,意味著后續配置變更之后需要讓所有相關的客戶...
理解了上述Environment的基本原理后,如何從遠程服務器上加載配置到Spring的Environment中。 NacosPropertySourceLocator 順著...
Spring Cloud針對Environment的屬性源功能做了增強, 在spring-cloud-contenxt這個包中,提供了PropertySourceLocato...
Environment的中文意思是環境,它表示整個spring應用運行時的環境信息,它包含兩個關鍵因素 profiles properties profiles profil...
OpenFeign是一個遠程客戶端請求代理,它的基本作用是讓開發者能夠以面向接口的方式來實現遠程調用,從而屏蔽底層通信的復雜性,它的具體原理如下圖所示。 在今天的內容中,我們...
在傳統的單體軟件架構中,軟件開發、測試、運維都是以單個進程為單位。 當拆分成微服務之后,單個應用可以被拆分成多個微服務,比如用戶系統,可以拆分成基本信息管理、積分管理、訂單管...
Eureka-Server是如何判斷一個服務不可用的? Eureka是通過心跳續約的方式來檢查各個服務提供者的健康狀態。 實際上,在判斷服務不可用這個部分,會分為兩塊邏輯。 ...
Eureka Server 為了提供響應效率,提供了兩層的緩存結構,將 Eureka Client 所需要的注冊信息,直接存儲在緩存結構中,實現原理如下圖所示。 第一層緩存:...
Spring Cloud是一個生態,它提供了一套標準,這套標準可以通過不同的組件來實現,其中就包含服務注冊/發現、熔斷、負載均衡等,在spring-cloud-common這...
Ribbon的核心作用就是進行請求的負載均衡,它的基本原理如下圖所示。就是客戶端集成Ribbon這個組件,Ribbon中會針對已經配置的服務提供者地址列表進行負載均衡的計算,...
Dubbo的出現背景 Dubbo從開源到現在,已經出現了接近10年時間,在國內各大企業被廣泛應用。 它到底有什么魔力值得大家去追捧呢?本篇文章給大家做一個詳細的說明。 大規模...
在前面的分析中,Spring Framework一直在致力于解決一個問題,就是如何讓bean的管理變得更簡單,如何讓開發者盡可能的少關注一些基礎化的bean的配置,從而實現自...
本篇文章,從Spring1.x到Spring 5.x的迭代中,站在現在的角度去思考Spring注解驅動的發展過程,這將有助于我們更好的理解Spring中的注解設計。 Spri...
要了解Spring Boot的發展背景,還得從2004年Spring Framework1.0版本發布開始說起,不過大家都是從開始學習Java就使用Spring Framew...
閱讀這篇文章之前,建議先閱讀和這篇文章關聯的內容。 1. 詳細剖析分布式微服務架構下網絡通信的底層實現原理(圖解)[https://mp.weixin.qq.com/s?__...