目录
1、高并发下分布式缓存实现原理
客户端访问数量庞大对于单一的服务器数据库来说会造成很大的开销甚至崩溃,但实现如图所示原理的高并发缓存架构便可有效的解决该问题。
具体实现思路是:首先客户端访问服务器时,服务器先从非关系型数据库Redis里快速查找数据,当数据在缓存了未找到时,再由访问缓存转向访问关系型数据库如mysql,但在此期间不可直接访问需要先通过过滤器,确认该数据的可查找性以后,再到数据库了查找,然后将数据返回给缓存存储以便下次查找直接从缓存了拿到,最后将数据返回给客户端。这样大大减小了数据库开销。
2、缓存部分的架构思想
hash算法将缓存进行合理分配,如图所示划分缓存:
当增加或减少缓存服务器时,会发送数据库迁移,常见问题是服务器泛洪和数据倾斜(即缓存分配不合理),解决方法如图所示:
这里我们把redis虚拟成n个结点分布在hash环上。
3、过滤器的布隆算法实现原理
实现思路如图:
布隆算法详见:布隆算法 - Rick.lz - 博客园