一个缓存设计,配合go的singleFlight

最开始的设计如下
在这里插入图片描述
添加分布式缓存
在这里插入图片描述
上线后分布式缓存上涨的流量并不等于下游下降的流量,而是下游下降的流量 * 2~3
究其原因,就是采用了go的singleFlight,假定请求缓存时长10ms,请求下游100ms,如果100ms期间来了3个流量(每隔20~50ms重试一次),那么singleFlight中请求缓存时长太短,导致它并未展现出它的威力。
但是singleFlight中请求下游的做法,就可以在100ms期间,展现出singleFlight的威力。

所以最终做法如下:
在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部