原创 疫情之後,繼續更新!!!

想自己搭建一個博客了!!!

原创 技術分享【zookeeper】

zookeeper簡介 1、什麼是zookeeper ZooKeeper 是一個分佈式的,開放源碼的分佈式應用程序協同服務。ZooKeeper 的設計目標是將那些複雜且容易出錯的分佈式一致性服 務封裝起來,構成一個高效可靠的原語集,並以一系

原创 zookeeper(15)源碼分析-服務器(2)

LearnerZooKeeperServer是所有Follower和Observer的父類,在LearnerZooKeeperServer裏有2個重要的屬性://提交請求處理器protected CommitProcessor commit

原创 zookeeper(13)源碼分析-請求處理鏈(3)

FinalRequestProcessor是請求處理鏈中最後的一個處理器。 public class FinalRequestProcessor implements RequestProcessor { ZooKeeperServ

原创 zookeeper(11)源碼分析-請求處理鏈(1)

對於請求處理鏈而言,所有請求處理器的父接口爲RequestProcessor。 RequestProcessor內部類RequestProcessorException,用來表示處理過程中的出現的異常,而proce***equest和shu

原创 zookeeper(10)源碼分析-事件監聽Watcher(3)

今天繼續源碼分析,分析一下org.apache.zookeeper.server下的WatchManager類。 WatcherManager類用於管理watchers和相應的觸發器。 類的屬性 //watchTable表示從節點路徑到wa

原创 zookeeper(9)源碼分析-事件監聽Watcher(2)

接着上一篇文章,繼續分析和Watcher相關的類的源碼。 ClientWatchManager public Set<Watcher> materialize(Watcher.Event.KeeperState state,

原创 zookeeper(8)源碼分析-事件監聽Watcher(1)

Watcher是zookeeper的事件監聽機制,今天我們來看看Watcher類的代碼都包含了什麼內容? Watcher Watcher是一個接口,定義了process方法,需要子類實現。其代表了實現Watcher接口時必須實現的的方法,即

原创 zookeeper(7)源碼分析-集羣Leader選舉FastLeaderElection

一、Election接口 選舉的父接口爲Election,其定義了lookForLeader和shutdown兩個方法,lookForLeader表示尋找Leader,shutdown則表示關閉,如關閉服務端之間的連接。 Election

原创 zookeeper(6)基於Idea啓動zookeeper源碼,開啓源碼之旅

研究zookeeper的源碼,第一步就是搭建環境,利用idea啓動zk的源碼,過程比較簡單,網上的教程也是不少,但是搞起來還是會遇到各種各樣的問題,這裏做個記錄。 環境介紹 1、zookeeper源碼3.5.5版本2、idea編輯器3、基於

原创 服務治理-Resilience4j(限流)

Bulkhead Bulkhead一般用於服務調用客戶端,用於限定對特定的服務的併發請求數量,起到一下作用:1、防⽌下游依賴被併發請求衝擊2、防⽌發⽣連環故障 1、配置規則“order” //允許最大的併發數量 resilience4j.b

原创 服務治理-Resilience4j(熔斷)

Hystrix官方已停止維護,官方推薦使用Resilience4j來替代Hystrix實現服務治理,今天我們看看如何使用Resilience4j。 介紹 1、一款受 Hystrix 啓發的輕量量級且易於使用的容錯庫 2、針對 Java 8

原创 springCloud-依賴Spring Security使用 JWT實現無狀態的分佈式會話

案例 在前後端分離的,後端微服務的情況下,會話已經不再適合保存在服務端,使用redis可以保存會話,但是需要在redis集羣之間進行復制,如果用戶較多,保存的數據量也比較大。 JWT實現無狀態的會話機制,是一個解決方案。 1、什麼是無狀態?

原创 服務治理-Hystrix

Hystrix作爲一款服務治理框架,被使用的很多,但是官方已經不再維護,取而代之的是Resilience4j框架。 所以本文簡單介紹Hystrix的使用,把重點放在下一篇的Resilience4j的講解上。

原创 springCloud+自定義註解+自定義配置順序攔截器

案例 在一個分佈式服務中,有多個服務,每個服務定義的攔截器和路徑都不相同,爲了解決以下問題:1、每個服務定義的攔截器不一致2、每個攔截器定義的攔截和非攔截的路徑不能定製化 爲了解決上面2個問題,採用註解+自定義配置,即可實現統一風格的自定義