布隆过滤器解决缓存击穿导致消息堆积的问题(无代码,讲思路)

问题描述。

周末消费者所在的服务出现了挂掉的问题,导致网关队列中出现了消息堆积的问题。

要么就是消费者服务挂掉,要么高并发导致消费的线程出现阻塞。

查看了日志得出是消费的线程多次去查询缓存和数据库都没有数据id,且数据杂乱无规律。导致缓存击穿,进而导致高并发查询数据库。

 

解决:

增加一个hutool类的布隆过滤器或者是set,服务启动时预加载数据库的设备id放进去。业务逻辑中,要查的时候要经过过滤,这样就没问题了。

posted @ 2023-03-30 17:35  古家杰  阅读(48)  评论(0)    收藏  举报