1. 写在前面
周一就像太阳,总会到来,也总会离开。
此刻,没错,是周一呀!
昨晚在B站看了几个长视频,导致2点才睡觉,早上是真的起不来。
在这里温馨提示各位盆友们,虽然我们都是年轻人,但还是要规律作息,早睡早起。
废话不多说了,开始今天的话题:
什么是一致性哈希算法。
2. 蒙圈的字面含义
第一次听这个术语时候困惑于是个啥意思?
一致性,咱懂
哈希算法,咱也懂
一致性+哈希算法 什么鬼?
虽然我大白脑袋比较空,但是我不信所有的网友都知道这个术语,于是在知乎找到个问题,还以为是我写的呢:
看来还真是有像大白这样,脑袋不灵光但是充满好奇的年轻人呀!
于是我决定上路,搞它!
3.分布式系统和一致性哈希
要理解一致性哈希算法就需要知道分布式系统的一些特点。
年轻人你肯定会问:为啥呢?
因为,一致性哈希算法就是为了解决分布式系统中的一些关键问题。
3.1 分布式系统概览
高并发和海量数据处理等场景越来越多,实现服务应用的高可用、易扩展、短延时等成为必然。
在此情况下分布式系统应运而生,互联网的场景无外乎存储和计算,因此分布式系统可以简单地分为:
- 分布式存储
- 分布式计算
可以简单认为分布式系统就是一批物理不相邻的计算机组合起来共同对外提供服务。
对于用户来说具体有多少规模的计算机完成了这次请求,完全是无感知的。
分布式系统中的计算机越多,意味着计算和存储资源等也就越多,能够处理的并发访问量也就越大,响应速度也越快。
如图为简单整体架构:
3.2 分布式和集群化
集群是从原来的单机演变来的,单台机器扛不住就加机器,直到服务负载、稳定性、延时等指标都满足。
集群中的N台机器上部署一样的程序,就像一台机器被复制多份一样,这种形式就是集群化。