1. 什么是缓存穿透?如何解决缓存穿透?
所谓的缓存穿透,指的就是因为在数据库中不存在某行数据,然后在缓存中也不存在对应key值,导致请求这行数据时总是直接访问数据库。解决缓存穿透,只需要在数据库访问后,如果没有查询到指定值,就保存一个空值到缓存中即可。
2. 什么是缓存雪崩?如何解决缓存雪崩?
所谓的缓存雪崩,指的是多个缓存key几乎在同一时间失效。要解决缓存雪崩,只需要为每个缓存设置不一样的过期时间,比如通过一个常量与随机数的乘积计算出失效时间。
3. 什么是缓存击穿?如何解决缓存击穿?
所谓的缓存击穿,指的是某个热点key在某一时间段失效,并且这个时候是并发量比较大的时间段,这个时候将导致数据库压力倍增。要解决缓存击穿,可以通过在访问数据库时,通过加分布式锁或者是限流的手段解决。
4. 什么是单点故障?
单点故障,出现在分布式系统中,比如现在有三个服务器,其中一个是主服务器(如服务网关),其他两个是从服务器(服务提供者),如果这个时候主服务器出现问题宕机,那么服务提供者提供的服务也就无法正常被访问了。要解决这个问题可以通过集群化部署实现,比如部署多个主服务器。
5. 什么是服务熔断?
服务熔断,又称熔断机制它是服务链路保护的一种策略,当某个服务不可用时,将会在它的父级调用者触发熔断机制,以达到快速返回错误信息,以及保护其他服务的作用。