原创 init-method,@postcontruct,afterPropertiesSet的先後順序

在牛客面經上遇到的一個面試題。突然想嘗試下 然後就開始做了 測試 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath

原创 讀寫分離與分庫分表,分佈式事務面試題

讀寫分離與分庫分表,分佈式事務 MySql存儲引擎,建表規範,事務級別,sql優化,讀寫分離思想等。 瞭解過讀寫分離嗎? 你說讀的時候讀從庫,現在假設有一張表User做了讀寫分離,然後有個線程在一個事務範圍內對User表先做了寫的處理,然

原创 Soul的匹配策略和waf執行流程

Soul的匹配策略和waf執行流程 soul的匹配策略 通過前面幾節的分析我們可以看到,幾乎所有的插件都有匹配的規則執行的順序,而我們通過插件分析瞭解到,具體的規則匹配是在soul-plugin-base中實現的 在AbstractSoul

原创 Soul限流插件之RateLimiter插件

Soul限流插件之RateLimiter插件 從Soul的RateLimiter插件的配置可以看到 RateLimiter是依賴於Redis的,可以看到限流也可以基於Redis的三種模式的單機(standlone),集羣(cluster)

原创 Soul網關限流插件Sentinel和Resilience4J掃盲

Soul網關限流插件Sentinel和Resilience4J掃盲 Soul網關限流插件Sentinel掃盲 首先看Soul中Sebtinel可以配置的項目 對應的配置的含義 degrade count:熔斷閾值 whether

原创 Soul網關Hystrix插件相關知識點掃盲

線程隔離和信號量隔離 Hystrix 裏面核心的一項功能,其實就是所謂的資源隔離,要解決的最最核心的問題,就是將多個依賴服務的調用分別隔離到各自的資源池內。避免說對某一個依賴服務的調用,因爲依賴服務的接口調用的延遲或者失敗,導致服務所有的線

原创 Soul中使用的zookeeper監聽功能嘗試和nacos同步源碼解讀

Soul中使用的zookeeper監聽功能嘗試 一直很好奇soul中基於zookeeper的數據變更是如何做到的。雖然看到了是基於zkClient的實現的,還是想自己嘗試下 zookeeper監聽嘗試 首先新建一個maven項目,引入zkC

原创 Soul網關使用感受

階段性 Soul網關使用感受 通過一段時間的Soul網關的接觸,總結了一些我認爲Soul網關存在的優勢 使用上 使用界面化的方式實現的屬性配置,極大的降低了網關的使用難度,相比Springcloud gateway使用容易很多 插件化的配

原创 Soul的限流斷路器的使用和流程

Soul的限流斷路器的使用和流程 由於之前並沒有使用過Hystrix,Resilience4j和sentinel中的任何一種,此處僅對三種流控和斷路器插件做一個流程分析 Soul中Hystrix的使用和操作流程 關於soul中插件的流程前

原创 Soul源碼中dubbo和sofa的執行過程

Soul源碼中dubbo和sofa的執行過程 Soul源碼中dubbo的執行過程 首先在 soul-examples-apache-dubbo-service 中依賴的soul-client中ApacheDubboServiceBeanP

原创 Soul網關的探活--基於zookeeper同步數據的解析

Soul網關的探活--基於zookeeper同步數據的解析 Soul網關的探活,主要分爲兩部分,第一部分是soul admin探活。一部分是soul-admin同步數據到網關層soul-boostrap。本文以一個http客戶端宕機之後的探

原创 Soul的SPI以及負載均衡策略研究

Soul的SPI以及負載均衡策略研究 上一節留下的幾個問題在之後進行的研究 如何從abstractSoulPlugin執行完之後到WebClientPlugin的相同方法,是責任鏈模式還是其他的加載過程 各個插件執行的時候實際上是責任

原创 Soul的SPI以及負載均衡策略研究

Soul的SPI以及負載均衡策略研究 上一節留下的幾個問題在之後進行的研究 如何從abstractSoulPlugin執行完之後到WebClientPlugin的相同方法,是責任鏈模式還是其他的加載過程 各個插件執行的時候實際上是責任

原创 Soul網關的數據註冊和同步數據流探究

Soul網關的Http/SpringMvc 數據註冊和同步數據流探究 Soul-Admin端數據的探究 首先啓動客戶端項目soul-examples-http的過程中看到控制檯會輸出和 可以很明顯的看到這段信息就是我們註解了@SoulSp

原创 Soul網關同步數據邏輯初探

Http同步數據 按照前面兩個同步數據的分析,可以看到Http同步跟其他的同步的加載基本一樣。不同的地方主要是加載數據的操作 加載數據的過程主要是 private void start() { // It coul