当前位置: 首页 > article >正文

一致性哈希算法 consistent hashing

文章目录

  • 场景描述
  • 一致性哈希算法的基本概念
  • 一致性哈希算法的优点
  • hash环的偏斜
  • 虚拟节点

在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。

场景描述

假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓存的压力。也就是说,我们希望每台服务器能够缓存1万张左右的图片,那么,我们应该怎样做呢?如果我们没有任何规律的将3万张图片平均的缓存在3台服务器上,可以满足我们的要求吗?可以!但是如果这样做,当我们需要访问某个缓存项时,则需要遍历3台缓存服务器,从3万个缓存项中找到我们需要访问的缓存,遍历的过程效率太低,时间太长,当我们找到需要访问的缓存项时,时长可能是不能被接受的,也就失去了缓存的意义,缓存的目的就是提高速度,改善用户体验,减轻后端服务器压力,如果每次访问一个缓存项都需要遍历所有缓存服务器的所有缓存项,想想就觉得很累,那么&#x


http://www.kler.cn/a/6894.html

相关文章:

  • go-zero(二) api语法和goctl应用
  • React教程第二节之虚拟DOM与Diffing算法理解
  • 在Qt(以及C++)中, 和 * 是两个至关重要的符号--【雨露均沾】
  • 亿咖通科技应邀出席微软汽车行业智享会,分享ECARX AutoGPT全新实践
  • PyTorch数据集方法
  • 第二十一周学习周报
  • 网络安全-拒绝服务(DDOS)
  • 关于数据通信和串口(USART)的一些笔记
  • 使用cfssl为程序添加https证书
  • 【Redis】集群(cluster)
  • 浅谈各个自研国产数据库优劣对比
  • Mysql LOAD DATA 读取客户端任意文件
  • AQS之ReentrantLock独占锁源码解析
  • top 输出中涉及到的一些参数的解释
  • SonarQube安装教程
  • 2023年noc指导教师认证测评参考试题
  • 重学Java设计模式-结构型模式-代理模式
  • Vue3通透教程【十一】初探TypeScript
  • 离散制造企业数字化转型难点问题
  • 【C++从0到1】7.C++中标识符的命名
  • 蓝桥杯刷题冲刺 | 倒计时4天
  • 【QsLog动态库的编译和使用】
  • 【Git】版本控制之基础用法
  • 如何低成本实现微前端架构?
  • arm-himix100-linux-gcc no such file or directory 解决办法
  • 华为OD机试用JS实现 -【查找树中的元素 or 查找二叉树节点】(2023-Q2 押题)