【分布式系统】深入理解一致性 Hash 算法
2023-09-14 09:07:20 时间
【分布式系统】深入理解一致性 Hash 算法
近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多技术的支持。例如系统访问层的负载均衡,缓存层的多实例主从复制备份,数据层的分库分表等。我们以负载均衡为例,常见的负载均衡方法有很多,但是它们的优缺点也都很明显:
随机访问策略。系统随机访问,缺点:可能造成服务器负载压力不均衡,俗话讲就是撑的撑死,饿的饿死。
轮询策略。请求均匀分配,如果服务器有性能差异,则无法实现性能好的服务器能够多承担一部分。
权重轮询策略。权值需要静态配置,无法自动调节,不适合对长连接和命中率有要求的场景。
Hash取模策略。不稳定,如果列表中某台服务器宕机,则会导致路由算法产生变化,由此导致命中率的急剧下降。
一致性哈希策略。
以上几个策略,排除本篇介绍的一致性哈希,可能使用最多的就是 Hash取模策略了。Hash取模策略的缺点也是很明显的,这种缺点也许在负载均衡的时候不是很明显,但是在涉及数据访问的主从备份和分库分表中就体现明显了。
Hash算法原理
Hash,一般翻译做散列,也有直接音译为哈希,就是把任意长度的输入(又叫做预映射, pre-image)&#
相关文章
- App测试面试题_软件测试算法面试题汇总
- OpenCV4 调用HED边缘检测算法
- NSGA2算法中拥挤度计算代码[通俗易懂]
- 一致性哈希算法的问题
- 一致性哈希算法 Java实现
- 【redis】一致性哈希算法
- DHT和一致性哈希算法总结
- 一致性哈希算法分区[通俗易懂]
- python计算基尼系数_PHP算法
- RISynG:用于癌症亚型识别的新型多组学聚类算法
- 想学算法吗少年,跟我来吧
- 一致性hash面试题_java面试算法
- Hash一致算法_分布式一致性hash
- hash算法和hash一致性_分布式一致性hash
- 【分布式系统】深入理解一致性 Hash 算法
- 一致性 Hash 算法原理&应用梳理
- 动态规划算法
- JavaScript专项算法题(4):异步
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-6 算法训练 安慰奶牛 最小生成树
- 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路
- 机器学习算法竞赛实战-数据探索
- [随笔]文件系统上存储哈希对象:哈希算法以及目录结构对性能的影响
- PostgreSQL并行计算算法及参数强制并行度设置方法
- 一致性算法:Redis 实现可靠集群(一致性算法redis)
- 谷歌推出有界负载的一致性哈希算法,解决服务器负载均衡问题
- 基于一致性hash算法(consistenthashing)的使用详解
- 基于一致性hash算法C++语言的实现详解
- 一致性哈希算法以及其PHP实现详细解析
- php中最简单的字符串匹配算法