码迷,mamicode.com
首页 > 编程语言 > 详细

一致性hash算法应用场景、详解与实现(JAVA)

时间:2017-04-08 11:18:52      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:产生   算法应用   瓶颈   接下来   场景   如何   扩展   log   img   

一、概述

在分布式环境下,开发者通常会遇到一些分布存储的场景,例如数据库的分库分表(比如用户id尾号为1的放入数据库1,id尾号为2的放入数据库2);又如分布式缓存数据的获取(比如根据ip地址进行缓存数据的分布存放)。在这种情况下,如何快速的将数据放入指定的位置,又如何快速获取是个最基本的要求,对于这种实现,有以下两种常用的方式:

1、配置中心拉取:这种情况下,数据的路由都会通过这一个中心节点取拉起配置,具体的方式如下:

技术分享

这种模式下的优点和缺点都很明显,优点就是方便维护,后面弹性扩展都只需要对配置中心数据进行操作即可,能够做到动态的完成DB的扩容等一些列问题。缺点就是这种情况下配置中心万一出现问题,后果是灾难性的,容易有单点故障,而且等到后续数据量特别巨大的时候,配置中心有可能本身会变成改系统的瓶颈。

2、对于需要操作的数据,通过一个确定的规则产生一个key,然后根据这个key进行一定的规则运算,直接获取到具体的数据操作地址。本文接下来所阐述的一些算法,就是通过这种方式去实现的。

一致性hash算法应用场景、详解与实现(JAVA)

标签:产生   算法应用   瓶颈   接下来   场景   如何   扩展   log   img   

原文地址:http://www.cnblogs.com/highkgao/p/6680931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!