最近接觸到微服務(wù)框架go-zero,翻看了整個(gè)框架代碼,發(fā)現(xiàn)結(jié)構(gòu)清晰、代碼簡潔,所以決定閱讀源碼學(xué)習(xí)下,本次閱讀的源碼位于core/syncx/...
上篇文章提到固定時(shí)間窗口限流無法處理突然請求洪峰情況,本文講述的令牌桶線路算法則可以比較好的處理此場景。 工作原理 單位時(shí)間按照一定速率勻速的生...
如果你寫一個(gè) bug 管理系統(tǒng),用了這個(gè) PeriodLimit 你就可以限制每個(gè)測試人員每天只能給你提一個(gè) bug。工作是不是就輕松很多了?:...
什么是流處理 如果有 java 使用經(jīng)驗(yàn)的同學(xué)一定會(huì)對 java8 的 Stream 贊不絕口,極大的提高了們對于集合類型數(shù)據(jù)的處理能力。 St...
跌宕起伏的2021年快要過去了,今年對我來說經(jīng)歷的實(shí)在太多,提筆做個(gè)簡單的總結(jié)吧。 回顧目標(biāo) 去年的年終總結(jié),我給自己立了兩個(gè)flag。 第一個(gè)...
為什么需要分布式鎖 用戶下單 鎖住 uid,防止重復(fù)下單。 庫存扣減 鎖住庫存,防止超賣。 余額扣減 鎖住賬戶,防止并發(fā)操作。分布式系統(tǒng)中共享同...
為什么需要布隆過濾器 想象一下遇到下面的場景你會(huì)如何處理: 手機(jī)號(hào)是否重復(fù)注冊 用戶是否參與過某秒殺活動(dòng) 偽造請求大量 id 查詢不存在的記錄,...
為什么需要一致性哈希 首先介紹一下什么是哈希[https://baike.baidu.com/item/Hash/390310?fromtitl...
為什么需要降載 微服務(wù)集群中,調(diào)用鏈路錯(cuò)綜復(fù)雜,作為服務(wù)提供者需要有一種保護(hù)自己的機(jī)制,防止調(diào)用方無腦調(diào)用壓垮自己,保證自身服務(wù)的高可用。 最常...