- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
redis集群的说明
Redis 集群功能说明0 介绍这篇文档主要是为了说明正在进展中的Redis集群功能。文档主要分为两个部分,前一部分主要介绍我在非稳定分支已完成的代码,后一部分主要介绍还有哪些功能待实现。本文档所有的说明都有可能在将来由于设计原因而进行更改,而未实现的计划比已实现的功能更有可能会被更改。本文档包含了所有client library所需要的细节,但是client library的作者们需要提前意识到真正实现的细节在将来很有可能会有变化。什么是Redis集群?Redis集群是一个实现分布式并且允许单点故障的Redis高级版本。Redis集群没有最重要或者说中心节点,这个版本最主要的一个目标是设计一个线性可伸缩(可随意增删节点?)的功能。Redis集群为了数据的一致性可能牺牲部分允许单点故障的功能,所以当网络故障和节点发生故障时这个系统会尽力去保证数据的一致性和有效性。(这里我们认为节点故障是网络故障的一种特殊情况)为了解决单点故障的问题,我们同时需要masters 和 slaves。即使主节点(master)和从节点(slave)在功能上是一致的,甚至说他们部署在同一台服务器上,从节点也仅用以替代故障的主节点。实际上应该说如果对从节点没有read-after-write(写并立即读取数据以免在数据同步过程中无法获取数据)的需求,那么从节点仅接受只读操作。已实现子集Redis集群会把所有的单一key存储在非分布式版本的Redis中。对于复合操作比如求并集求交集之类则未实现。在将来,有可能会增加一种为“Computation Node”的新类型节点。这种节点主要用来处理在集群中multi-key的只读操作,但是对于multi-key的只读操作不会以集群传输到Computation Node节点再进行计算的方式实现。Redis集群版本将不再像独立版本一样支持多数据库,在集群版本中只有database 0,并且SELECT命令是不可用的。客户端与服务端在Redis集群版中的约定在Redis集群版本中,节点有责任/义务保存数据和自身状态,这其中包括把数据(key)映射到正确的节点。所有节点都应该自动探测集群中的其他节点,并且在发现故障节点之后把故障节点的从节点更改为主节点(原文这里有“如果有需要” 可能是指需要设置或者说存在从节点)。集群节点使用TCP bus和二进制协议进行互联并对任务进行分派。各节点使用gossip 协议发送ping packets给集群其他节点以确定其他节点是否正常工作。cluster bus也可以用来在节点间执行PUB/SUB命令。当发现集群节点无应答的时候则会使用redirections errors -MOVED and -ASK命令并且会重定向至可用节点。理论上客户端可随意向集群中任意节点发送请求并获得重定向,也就是说客户端实际上并不用关心集群的状态。然而,客户端也可以缓存数据对应的节点这样可以免去服务端进行重定向的工作,这在一定程度上可以提高效率。Keys分配模式一个集群可以包含最多4096个节点(但是我们建议最多设置几百个节点)。所有的主节点会控制4096个key空间的百分比。当集群稳定之后,也就是说不会再更改集群配置(更改配置指的增删节点),那么一个节点将只为一个hash slot服务。(但是服务节点(主节点)可以拥有多个从节点用来防止单点故障)用来计算key属于哪个hash slot的算法如下:HASH_SLOT = CRC16(key) mod 4096Name: XMODEM (also known as ZMODEM or CRC-16/ACORN)Width: 16 bitPoly: 1021 (That is actually x^16 + x^12 + x^5 + 1)Initialization: 0000Reflect Input byte: FalseReflect Output CRC: FalseXor constant to output CRC: 0000Output for 123456789: 31C3这里我们会取CRC16后的12个字节。在我们的测试中,对于4096个slots, CRC16算法最合适。集群节点特性在集群中每个节点都拥有唯一的名字。节点名为16进制的160 bit随机数,当节点获取到名字后将被立即启用。节点名将被永久保存到节点设置文件中,除非系统管理员手动删除节点配置文件。节点名是集群中每个节点的身份证明。在不更改节点ID的情况下是允许修改节点IP和地址的。cluster bus会自动通过gossip协议获取更改后的节点设置。每个节点可获知其他节点的信息包括:IP 端口状态管理的hash slotscluster bus最后发送PING的时间最后接收到PO
您可能关注的文档
- 全程复习广西专用广西专用年高考物理轮复习分子运动论物体的内能课件新人教版.ppt
- 全程复习广西专用广西专用年高考物理轮复习带电粒子在复合场中的运动课件新人教版.ppt
- 全程复习方略高考中图版生物大轮复习课件必修单元节节真核细胞与原核细胞.ppt
- 八下粒子的模型与符号.ppt
- 全程学习方略版高中生物细胞器之间的协调配合和细胞的生物膜系统课件新人教版必修.ppt
- 八个体心理发展.ppt
- 八乳化剂.ppt
- 八公债经济效应.ppt
- 八单元带电粒子在复合场中的运动.ppt
- 八单元复合场中带电粒子的运动.ppt
- 中考语文复习专题二整本书阅读课件.ppt
- 中考语文复习积累与运用课件.ppt
- 2025年初中学业水平考试模拟试题(二)课件.ppt
- 四川省2015届理科综合试题48套第12套.pdf
- 【课件】战争与和平—美术作品反映战争+课件-2024-2025学年高中美术湘美版(2019)美术鉴赏.pptx
- 【课件】青春牢筑国家安全防线 课件 2024-2025学年高中树立总体国家安全观主题班会.pptx
- 【课件】原始人的创造+课件高中美术湘美版(2019)美术鉴赏.pptx
- 上海证券-美容护理行业周报:流量加快去中心化,强运营头部品牌影响较小 -2024-.pdf
- T_CSEIA 1005—2023_能源工业互联网平台数据治理要求.pdf
- T_CDSA 504.16-2023_急流救援技术培训与考核要求.pdf
文档评论(0)