hi,大家好,我是haohongfan。 本篇主要介紹 WaitGroup 的一些特性,讓我們從本質(zhì)上去了解 WaitGroup。關(guān)于 WaitGroup 的基本用法這里就不...
hi,大家好,我是haohongfan。 本篇主要介紹 WaitGroup 的一些特性,讓我們從本質(zhì)上去了解 WaitGroup。關(guān)于 WaitGroup 的基本用法這里就不...
hi, 大家好,我是 haohongfan。 本篇文章會(huì)從使用方式和源碼角度剖析 sync.Map。不過不管是日常開發(fā)還是開源項(xiàng)目中,好像 sync.Map 并沒有得到很好的...
漏斗桶/令牌桶確實(shí)能夠保護(hù)系統(tǒng)不被拖垮, 但不管漏斗桶還是令牌桶, 其防護(hù)思路都是設(shè)定一個(gè)指標(biāo), 當(dāng)超過該指標(biāo)后就阻止或減少流量的繼續(xù)進(jìn)入,當(dāng)系統(tǒng)負(fù)載降低到某一水平后則恢復(fù)流...
限流器(Rate Limiter)在微服務(wù)中的重要性不言而喻了. 下游服務(wù)的穩(wěn)定性, 防止過載, 全靠這個(gè)組件來保證. 限流器的實(shí)現(xiàn)方式, 基本有下面幾種方式 計(jì)數(shù)器 漏斗通...
開篇依然是那三個(gè)問題: redigo 是否能夠用于 codis ? 如果不經(jīng)過任何加工, 直接用 redigo 去訪問 codis, 會(huì)出現(xiàn)什么樣的問題 ? codis 的 ...
Redigo Pool 最重要的結(jié)構(gòu) Redigo 第二重要的結(jié)構(gòu): idleList idleList 是個(gè)雙向鏈表. 實(shí)現(xiàn)很簡單. 只有三個(gè)方法: pushFront, ...
logrus 是 golang 一款非常優(yōu)秀的日志框架, 其優(yōu)點(diǎn)非常明顯: 優(yōu)雅的代碼框架設(shè)計(jì), 可以作為我們設(shè)計(jì)組件的參考. 具體請參見我前面文章(鏈接文末給出) 使用簡單...
上一篇介紹logrus的基本用法, 本篇文章介紹logrus的整個(gè)生命周期 從上面這個(gè)簡單的例子, 追蹤logrus的整個(gè)生命周期 初始化 Info函數(shù)的參數(shù)是一個(gè)可變參數(shù),...
答案是肯定的: 沒有指針運(yùn)算(哈哈, 別著急慢慢往后面看) C或者C++轉(zhuǎn)golang同學(xué)就高興了, 再也不用面試的時(shí)候去面對下面這道題了(面試C++的時(shí)候, 基本每家公司的...
選擇golang日志庫時(shí), 使用logrus的主要原因就是因?yàn)閟tar比較多, 而且社區(qū)活躍度非常高. 在項(xiàng)目使用過程中, 發(fā)現(xiàn)logrus的調(diào)用入口, 性能, 插件, 自定...
背景 在微信群一位同學(xué)拋出的一段代碼, 各位看官猜想一下程序的執(zhí)行結(jié)果 我猜想大部分同學(xué)都會(huì)說是: fatal error: all goroutines are aslee...
看gin源碼時(shí)發(fā)現(xiàn)了sync.Pool的使用 那個(gè)時(shí)候其實(shí)不太明白這個(gè)Pool是在干啥用, 大致覺得應(yīng)該是內(nèi)存池之類的. 后面想仔細(xì)看下sync.Pool具體怎么用, 我就去...
原文地址 先不要看結(jié)果, 自己想想輸出是什么? 對于很多人(包括我自己), 結(jié)果可能會(huì)讓人感到驚訝 我個(gè)人期待的結(jié)果, 但是這是一個(gè)錯(cuò)誤結(jié)果 迭代變量t使用短變量聲明的方式聲...
原文地址: Tags in Golang 我們聲明golang struct時(shí)可以在struct字段后面添加一些字符串來豐富這個(gè)字段, 這些字符串稱為tag. Tags可以被...
設(shè)置最大深度和最大負(fù)責(zé)度的好處 因?yàn)榘巡樵兊臋?quán)利交給了客戶端, 客戶端可以進(jìn)行非常復(fù)雜的查詢. 因?yàn)榭蛻舳丝赡苓M(jìn)行惡意的查詢或者進(jìn)行非常大的查詢, 因此服務(wù)端要拒絕這樣的查詢...