博客 / 列表

kevinwan - 熔斷原理分析與源碼解讀

熔斷機制(Circuit Breaker)指的是在股票市場的交易時間中,當價格的波動幅度達到某一個限定的目標(熔斷點)時,對其暫停交易一段時間的機制。此機制如同保險絲在電流過大時候熔斷,故而得名。熔斷機制推出的目的是為了防範系統性風險,給市場更多的冷靜時間,避免恐慌情緒蔓延導致整個市場波動,從而防止大規模股價下跌現象的發生。 同樣的,在高併發的分佈式系統設計中,也應該有熔斷的機制。熔斷一般是在客

grpc , 微服務 , go-zero , web開發 , go

kevinwan - 負載均衡原理分析與源碼解讀

上一篇文章一起學習了Resolver的原理和源碼分析,本篇繼續和大家一起學習下和Resolver關係密切的Balancer的相關內容。這裏説的負載均衡主要指數據中心內的負載均衡,即RPC間的負載均衡。 傳送門 服務發現原理分析與源碼解讀 基於go-zero v1.3.5 和 grpc-go v1.47.0 負載均衡 每一個被調用服務都會有多個實例,那麼服務的調用方應該將請求,發向被調用服務的哪一個

grpc , 微服務 , go-zero , web開發 , go

kevinwan - 服務發現原理分析與源碼解讀

在微服務架構中,有許多繞不開的技術話題。比如服務發現、負載均衡、指標監控、鏈路追蹤,以及服務治理相關的超時控制、熔斷、降級、限流等,還有RPC框架。這些都是微服務架構的基礎,只有打牢這些基礎,才敢説對微服務是有了一點理解,出門也好意思和別人打招呼了,被人提問的時候也能侃侃而談了,線上出了問題往往也能尋根溯源內心不慌了,旁邊的女同事小芳看着你的時候也是滿眼的小可愛了。 在《微服務實踐》公眾號,之前寫

grpc , go-zero , web開發 , 服務發現 , go

kevinwan - 微服務治理之如何優雅應對突發流量洪峯

為什麼需要降載 微服務集羣中,調用鏈路錯綜複雜,作為服務提供者需要有一種保護自己的機制,防止調用方無腦調用壓垮自己,保證自身服務的高可用。 最常見的保護機制莫過於限流機制,使用限流器的前提是必須知道自身的能夠處理的最大併發數,一般在上線前通過壓測來得到最大併發數,而且日常請求過程中每個接口的限流參數都不一樣,同時系統一直在不斷的迭代其處理能力往往也會隨之變化,每次上線前都需要進行壓測然後調整限流參

限流 , 服務器開發 , 微服務 , go-zero , go

kevinwan - 自適應負載均衡算法原理與實現

背景 在選擇負載均衡算法時,我們希望滿足以下要求: 具備分區和機房調度親和性 每次選擇的節點儘量是負載最低的 每次儘可能選擇響應最快的節點 無需人工干預故障節點 當一個節點有故障時,負載均衡算法可以自動隔離該節點 當故障節點恢復時,能夠自動恢復對該節點的流量分發 基於這些考慮,go-zero 選擇了 p2c+EWMA 算法

微服務 , 算法 , microservice , 負載均衡 , go