smtp用户名与实际地址不一致_不了解一致性哈希原理的进来,速学+实际运用

一致性hash可以最大限度的降低对原来格局的改变,在缓存和分库分表等技术中比较常用。那么什么是一致性hash呢,举个例子就明白了,简单明了:

沿着学校操场跑道(400米一圈)分布着一些提供饮水的地方,你沿着跑道不停的顺时针跑啊跑,当你渴的不行的时候,你是不是要跑到下一个距离你最近的救济站喝水;假如和你一样跑步的人越来越多,人很多都布满了整个跑道,恰巧大家同时都想喝水了,那么我即便是撤掉或者添加一些救济站的话,是不是也只影响那么一小小部分的人选择救济站呢,距离大部分人顺时针方向最近的救济站的位置并没有变,也就是喝水的位置没有变。

一致性hash就是这个原理,不用画图你就可以理解的透透彻彻。但是为了有个深刻的印象呢,咱们也提供一个图。

575ae5ad9a68af800621e2405e98dfb7.png

那么这样的技术有什么实际应用场景呢,nginx我相信大家应该都熟悉,ngx_http_upstream_consistent_hash模块就是使用一致性hash算法来为请求选择合适的后端节点,该模块可以根据配置参数采取不同的方式将请求均匀映射到后端机器,比如:

consistent_hash $remote_addr:就是根据客户端IP进行一致性hash映射;

如果恰到遇到一后台服务down了,但是用户登录状态又没有在集群中共享,那么也就只有原来映射到这台机器的登陆状态丢失,其他的不受影响,从而降低影响。

除此之外在分库分表中的应用可以使每个库的数据比较均衡,在数据量到达一定程度的时候又可以动态的增加数据库。

至此,一致性hash原理你了解了吗?你会用了吗?欢迎评论区吐槽留言。

6594fd9b9c6d90d81a71ccd0572829ff.png

欢迎大家关注我,不定期分享互联网相关技术,互相交流学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值