博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
负载均衡技术之选择实际业务处理机器的方式
阅读量:6238 次
发布时间:2019-06-22

本文共 1019 字,大约阅读时间需要 3 分钟。

hot3.png

1, 随机选择

2.  Hash选择

在分布式缓存设计中,多台server形成分布式缓存,如果每次请求都从若干台server中寻找,在时间上和空间上都不科学,所以利用一致性hash保证相同的keyi每次访问都被发送到同一台server,提高缓存命中率。

一致性hash解决增加删除节点减少对数据的震荡

参考此文:

每个数据通过一致性hash分布到cache上,如果解决单点故障问题?每个cache的数据都不同,出现单点故障如何恢复数据?分布式节点间不进行通信吗?

一致性hash解决随机选择server产生的如下两个问题

一是同一份数据 可能被存在不同的机器上而造成数据冗余,

二是有可能某数据已经被缓存但是访问却没有命中,因为无法保证对相同key的所有访问

memcache服务本身并不具备分布式缓存的能力,它提供的就是对{key, value}对的访问能力,分布式的能力则完全来自于客户端。

双节点策略

有些分布式系统曾采用双节点策略来解决节点失效带来的问题,每一个存储节点都有主/备两个节点,可以把这个策略引入到分布式缓存中来,可以认为两个节点同时失效是一个小概率事件;其缺点就是硬件成本提高了,但是节点失效时,不需要迁移数据了啊(如果主节点还没有down机,主备节点之间还可以快速复制缓存),这个简化了很多设计。缓存数据不允许失效,但是no-hit是完全可以接受的,对于缓存而言这确实是个不错的方案。

N+x备份策略

这个是由双节点策略改进而来的,与其让每个节点都有一个备份节点,不如让N个缓存服务器共用x个备份节点,比如我们取x=3,这样就大大降低了硬件成本。除非同时出现4台服务器down机的情况,才会造成缓存节点不足;这个是个极小概率事件了。

在吸取了双节点策略的同时,也避免了其缺点。
不管是N+x备份还是双节点策略,和consistent hashing是不冲突的,完全可以使用consistent hashing算法来分配{key, value}到不同的缓存服务器上

参考文档

http://segmentfault.com/q/1010000000315713。

3. Round-robin 

更适用于请求消耗资源差别不大的情况 

4.  按权重分配

5  按负载选择

6 按连接选择

实际中会考虑心跳检测,排除有问题的机器。

转载于:https://my.oschina.net/hanruikai/blog/298571

你可能感兴趣的文章
Linux 必学和要掌握的路径
查看>>
WBS分解
查看>>
centos5.6安装FTP
查看>>
http-equiv,很强大
查看>>
安装字体与ubuntu-tweak
查看>>
平均值方法:Avg API-Medoo使用指南
查看>>
centos6,7没有安装ifconfig命令的解决方法
查看>>
web页面禁用右键、禁用左键、禁止查看源代码、禁用触摸板
查看>>
Linux Kernel Device Tree 配置框架
查看>>
笔记:Python进行数据库文件导出备份
查看>>
Android开发学习记录(2015-05-19 23:05:34更新)
查看>>
一封高三老师,写给进入大学的学生的信,看完沉思良久
查看>>
解决checkbox选中但是不显示打钩的问题
查看>>
大数据公司如何实现标准化服务输出?NO.410华量软件
查看>>
bias和variance
查看>>
SpringBoot基础教程2-1-1 搭建RESTful风格Web服务
查看>>
uniupload mapping
查看>>
问题(1)
查看>>
python发邮件
查看>>
Linux系统管理笔记
查看>>