36、缓存雪崩:理解了击穿,那雪崩就更好理解了 。俗话说得好,击穿是一个人的雪崩,雪崩是一群人的击穿 。如果缓存这堵墙上处处都是洞,那这面墙还如何屹立?吃枣药丸 。
37、关于这三个问题这里不详细讲述 。有了缓存系统,我们就可以在向数据库请求之前,先询问缓存系统是否有我们需要的数据,如果有且满足需要,我们就可以省去一次数据库的查询,如果没有,我们再向数据库请求 。注意,这里有一个关键的问题,如何判断我们要的数据是不是在缓存系统中呢?进一步,我们把这个问题抽象出来:如何快速判断一个数据量很大的 *** 中是否包含我们指定的数据?这个时候,就是布隆过滤器大显身手的时候了,它就是为了解决这个问题而诞生的 。
38、那布隆过滤器是如何解决这个问题的呢?先回到上面的问题中来,这其实是一个查找问题,对于查找问题,最常用的解决方案是搜索树和哈希表两种方案 。因为这个问题有两个关键点:快速、数据量很大 。树结构首先得排除,哈希表倒是可以做到常数阶的性能,但数据量大了以后,一方面对哈希表的容量要求巨大,另一方面如何设计一个好的哈希算法能够做到如此大量数据的哈希映射也是一个难题 。
39、对于容量的问题,考虑到只需要判断对象是否存在,而并非拿到对象,我们可以将哈希表的表项大小设置为1个bit,1表示存在,0表示不存在,这样大大缩小哈希表的容量 。而对于哈希算法的问题,如果我们对哈希算法要求低一些,那哈希碰撞的机率就会增加 。那一个哈希算法容易冲突,那就多弄几个,多个哈希函数同时冲突的概率就小的多 。
40、布隆过滤器就是基于这样的设计思路:当设置对应的key-value时,按照一组哈希算法的计算,将对应比特位置但当对应的key-value删除时,却不能将对应的比特位置0,因为保不准其他某个key的某个哈希算法也映射到了同一个位置 。也正是因为这样,引出了布隆过滤器的另外一个重要特点:布隆过滤器判定存在的实际上不一定存在,但判定不存在的则一定不存在 。你们公司网站的内容越来越多了,用户对于快速全站搜索的需求日益强烈 。
41、这个时候,你需要:全文搜索技术对于一些简单的查询需求,传统的关系型数据库尚且可以应付 。但搜索需求一旦变得复杂起来,比如根据文章内容关键字、多个搜索条件但逻辑组合等情况下,数据库就捉襟见肘了,这个时候就需要单独的索引系统来进行支持 。如今行业内广泛使用的ElasticSearch(简称ES)就是一套强大的搜索引擎 。
42、集全文检索、数据分析、分布式部署等优点于一身,成为企业级搜索技术的首选 。ES使用RESTful接口,使用 *** ON作为数据传输格式,支持多种查询匹配,为各主流语言都提供了SDK,易于上手 。另外,ES常常和另外两个开源软件Logstash、Kibana一起,形成一套日志收集、分析、展示的完整解决方案:ELK架构 。
43、其中,Logstash负责数据的收集、解析,ElasticSearch负责搜索,Kibana负责可视化交互,成为不少企业级日志分析管理的铁三角 。无论我们怎么优化,一台服务器的力量终究是有限的 。公司业务发展迅猛,原来的服务器已经不堪重负,于是公司采购了多台服务器,将原有的服务都部署了多份,以应对日益增长的业务需求 。
44、现在,同一个服务有多个服务器在提供服务了,需要将用户的请求均衡的分摊到各个服务器上,这个时候,你需要:负载均衡技术顾名思义,负载均衡意为将负载均匀平衡分配到多个业务节点上去 。和缓存技术一样,负载均衡技术同样存在于计算机世界到各个角落 。按照均衡实现实体,可以分为软件负载均衡(如LVS、Nginx、HAProxy)和硬件负载均衡(如AF5) 。
推荐阅读
- 云南2023中考改革最新方案分数线 2023中考改革最新方案分数线
- 云这个梗是什么意思
- 昆明当地出发的旅游团
- 云内490发动机号在哪个位置
- 云南大理海拔高度是多少米
- 云南碧螺春好喝吗 碧螺春好喝吗
- 农村土暖气安装教程 家用土暖气安装方法
- 云想衣裳花想容表达了什么
- 云计算工资一般多少钱 云计算行业的薪资水平如何
- 燕云台萧燕燕最后和谁在一起了 萧燕燕和韩德让的结局如何