摘要: 背景 在使用缓存时,容易发生缓存击穿。 缓存击穿:一个存在的key,在缓存过期的瞬间,同时有大量的请求过来,造成所有请求都去读dB,这些请求都会击穿到DB,造成瞬时DB请求量大、压力骤增。 singleflight 介绍 singleflight类的使用方法就新建一个singleflight.Gro 阅读全文
posted @ 2020-04-20 22:03 Chaunceeeeeeeeey 阅读(1867) 评论(1) 推荐(1) 编辑
摘要: 简介 在Go服务中,对于每个请求,都会起一个协程去处理。在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等。当一个请求被取消或者超时的时候,其他所有协程都应该立即被取消以释放资源。 Golang的context包就是用 阅读全文
posted @ 2020-04-20 20:41 Chaunceeeeeeeeey 阅读(385) 评论(0) 推荐(0) 编辑