一个缓存设计,配合go的singleFlight
最开始的设计如下
添加分布式缓存
上线后分布式缓存上涨的流量并不等于下游下降的流量,而是下游下降的流量 * 2~3
究其原因,就是采用了go的singleFlight,假定请求缓存时长10ms,请求下游100ms,如果100ms期间来了3个流量(每隔20~50ms重试一次),那么singleFlight中请求缓存时长太短,导致它并未展现出它的威力。
但是singleFlight中请求下游的做法,就可以在100ms期间,展现出singleFlight的威力。
所以最终做法如下:
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » go~缓存设计配合singleFlight
发表评论 取消回复