认识布隆过滤器
不安全网页的黑名单包含 100 亿个黑名单网页,每个网页的 URL 最多占用 64B。 现在想要实现一种网页过滤系统,可以根据网页的 URL 判断该网页是否在黑名单上,请设计该系统。
1.该系统允许有万分之一以下的判断失误率。
2.使用的额外空间不要超过 30GB。

哈希离散函数性质:
①输入域无穷大
②输出域有限
③当输入同样的参数,一定有相同的输出值
④在不同输入值的情况下,对于结果域中的不同输出值出现概率相等
结果结果分布越离散,该函数性能越好

一般这种题,应该问是否可以有失误的情况

预期样本量,预期失误率,选择多少个哈希函数,输入域无限制,十分省空间

一致性哈希算法的基本原理
工程师常使用服务器集群来设计和实现数据缓存,以下是常见的策略:
1.无论是添加、查询还是删除数据,都先将数据的 id 通过哈希函数转换成一个 哈希值,记为 key。
2.如果目前机器有N台,则计算key%N的值,这个值就是该数据所属的机器编号,无论是添加、删除还是查询操作,都只在这台机器上进行。
请分析这种缓存策略可能带来的问题,并提出改进的方案。

解决数据迁移的压力,便于扩容
若真实机器数量不足以体现离散的优势,则主要思路是添加很大数量的虚拟机,并维持一个路由表,以实现一致性哈希算法的优势

布隆过滤器、一致性哈希算法总结相关推荐

  1. 软考2022高级架构师下午案例分析第4题:关于哈希算法、一致性哈希算法和布隆过滤器

    目录 [说明] [问题1] [问题2] [问题3] [说明] 某大型电商平台建立了一个在线 B2B 商店系统,并在全国多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率.但是在运营过程中, ...

  2. 图解一致性哈希算法,看这文就够了!

    作者 | LemonCoder 来源 | 后端技术学堂(ID:lemon10240) 很多同学应该都知道什么是哈希函数,在后端面试和开发中会遇到「一致性哈希」,那么什么是一致性哈希呢?名字听起来很厉害 ...

  3. 哈希分布与一致性哈希算法简介

    前言 在我们的日常web应用开发当中memcached可以算作是当今的标准开发配置了.相信memcache的基本原理大家也都了解过了,memcache虽然是分布式的应用服务,但分布的原则是由clien ...

  4. 一致性哈希算法以及其PHP实现

    在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括:  轮循算法(Round Robin).哈希算法(HASH).最少连接算法(Least Connection).响应速度算法(Respons ...

  5. 一致性hash算法虚拟节点_一致性哈希算法——虚拟节点

    一致性哈希算法--虚拟节点 一致性哈希算法是分布式系统中常用的算法.比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是 ...

  6. 一次失败的面试,复习一次一致性哈希算法

    来自公众号:孤独烟 本文故事绝对真实,如有雷同,绝对不是巧合! 于是呢,烟哥提前十分钟在公司里头找了一个厕所的坑位,然后进去随手一锁门-.(以下省略10000字)- 唉- 我竟然又带薪上厕所了,而且上 ...

  7. 一致性哈希算法的理解

    关于一致性哈希算法,网上有很多博文都有讲解.推荐2个. http://blog.codinglabs.org/articles/consistent-hashing.html http://blog. ...

  8. Go -- 一致性哈希算法

    一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用 ...

  9. 一致性哈希算法及其在分布式系统中的应用

    摘要 本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用.首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个 ...

最新文章

  1. 中英字体不同导致的下划线不对齐问题
  2. JPA在MySQL中自动建表
  3. 协程asyncio_Asyncio深入浅出
  4. 数据库sqlite3怎么排顺序_【数据库02】MySQL数据库面试题
  5. 深入浅出Hadoop: 高效处理大数据
  6. 三人表决器c语言实验报告,项目一:三人表决器的逻辑电路设计与制作
  7. matlab画进化树分析图,系统发育(进化)树绘制小结
  8. 烽火HG680-KA_310_免费升级刷机固件包及教程
  9. 基于LVD、贝叶斯模型算法实现的电商行业商品评论与情感分析案例
  10. 前人对ACM学习的一些总结
  11. git 更新某个目录或文件
  12. 网络工程专业就业方向
  13. 人脸检测:人脸检测算法综述
  14. 如何使用CorelDRAW 2019绘制谷歌浏览器Logo
  15. Chromium源码—base基础库说明
  16. Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data
  17. 智慧工业园区建设规划方案
  18. docker为什么会出现?
  19. 热敏打印机不能连续打印问题解决方案
  20. HTTP中request详解

热门文章

  1. CentOS下与Apache连接的PHP多版本共存方案实现详解
  2. 以太坊开发 发行代币的增发功能 并实现转到钱包 和买卖的功能
  3. 180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则
  4. 防止js全局变量污染方法总结-待续
  5. Object-C-block
  6. 利用反射实现对象调用方法
  7. WINCE6.0下开始菜单的“挂起(suspend)”是否可见及阻止系统进入睡眠模式
  8. 森林正版服务器,The Forest 专用服务器设置向导
  9. processing文本可视化_推荐7个数据可视化工具,让你的信息快速生成可视化
  10. Spring核心——IOC处理器扩展