




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上了如何使用s提供的 功能来性能,但是在地使用Rds的候,用除了可能遇上之外,可能会遇上写性能候,用甚至需要同展系统处理求和写举个例子,如果用户只有一台服务器,该服务器每秒钟能够处理10万次命令请求,其中每秒3万次写、7万次读,但是随着客户的数量增多,系统现在必须能够每秒钟处理一倍于现有数量令请求,也即是,每秒钟6万次写、14万次读,总共20万次命令请求每秒。为了解决这个问题,我们不仅需要像 》一节介绍的那样,使用多台服务器来处理客户端的读请求还必须使用多台服务器来处理客户端的写请 法是使用分片(shard),这项技术的 服务m 是 开的一个 服Redis和d用个Redis服器添加到一个服器池l里面,并通用列函数和分布函数,将来自客端 令器池中的各个服通过使用twem Redis服务器上面,并使用这些服务器来分担系统负责以及数据库容量:在服务器硬件条件相同的情况下,对于一个包含N台Redis服务器的池来说,池中每台服务器平均包含整个数据库数据的1/N,并处理平均1/N 安装 并解压压缩$$$sudomake使用yml格式编listen:hash:fnv1a_64distribution:ketamaredis:true---
#服务器池的名字,支持创建多个服务#这个服务器池 地址和#键散列算法,用于将键映射为一个散列#键分布算法,决定键被分布到哪个服务 Redis命令请求,不给定时默 Memcached请#池中各个服务器的地址和 ,以及权 $nutcracker-c用用户可以使用Redis客户端连接上,并向发送命令请求,接收到命令请 会根据用户指定的散列函数和分布函数来决定将命令交给哪个服务器来处$./redis-cli-p22121127.0.0.1:22121>SETmsg"o127.0.0.1:22121>SADDnumbers1357(integer)127.0.0.1:22121>RPUSHlst"a""b""c""d""e""f"(integer)127.0.0.1:22121>ZADDfruits-price8.0"apple"3.5"banana"4.2(integer)127.0.0.1:22121>INCRBYcounter(integer)当获取到命令请求的回复时,就会将命令回复返回给发送命令请求的客户过对于客户端来说127.0.0.1:6379>KEYS1)127.0.0.1:6380>KEYS127.0.0.1:6381>KEYS
通过散列函数和分布函数来将数据库的键放置到不同的服务当客户端向twem 发送一个针对键key #计算key的散列hash_value=#根据key的散列值,计算出key应该被分布到哪个服务#其中all_servers_in_pool是一个列表,它包含了池中的所有服务器的IP#比如[‘127.0.0.1:6379’,‘127.0.0.1:6380’.server=distribution_funtion(hash_value,#将请求发送给服务forward_request(server, 提供了多种散列函数供用户选择,用户可以通过修改配置文件中hash选项的值包括oneatatime算法在内的Jenkins包括crc16、crc32和crc32a在内的循环冗余校验md5包括fnv1_64、fnv1a_64、fnv1_32和fnv1a_32在内的FowlerNollVo由PaulHsieh发明的hsiehmurmur每个散列函数适用的数据类型、它们的分布率以及计算速度等情况都不尽相同,用户这些函数,然后再根据自己的情况来选择用户可以通过修改distribution选项的值来改变twem ketama:一致性hash,主要用于在实现缓存服务时,防止某个服务器下线而造成缓存大量失效。modula:取模运算,相当于依靠散列函数本身来分布各个键random:不考虑散列值,直接随机地将键分布到池中的某个服务器, 键时,也随机选择一个服器来进 在默在默认情况下,会根据键的整个键名来计算键的散列值,但如果用户通过hash_tag值(hashtag),那么只会根据键包围的部分来计算键举个例子,假设用户设置了配置hash_tag:"{}",那么以下两个键将计算出相同的散列值,因为它们 中包含的内容相同——都是user而键bbs::{topic}::98765则可能会计算出与以上两个键不同的散列值,因为这个键可以自由设置,比如对于bbs::$user$::123456就可以使用“$$”作123456就可以使用“()”作 、而键bbs::*user*::123456就可以使用“**”作、,诸如此类自动移除下线服务器和自动添加重新上线的服务 127.0.0.1:22121>INCR(integer)127.0.0.1:22121>GET127.0.0.1:22121>GET(error)ERRConnectionrefused127.0.0.1:22121>GETcounter(error)ERRConnectionrefused127.0.0.1:22121>GETcounter(error)ERRConnection
#该命令请求将被#127.0.0.1:6379已经下#发送给该服务器的所有命令请求都将失为为了解决服务器下线的问题提供了auto_eject_hosts<bool>server_failure_limit<N>这两个配置选项:当auto_eject_hosts选项的值为true,并且 连续N次向同一个服务器发送命令请求但都遇到错误时, 就会将该服务器标记为下线,将原本由这个服务器负责处理的键交给池中的其 的服务器来处理举个例子,对于包含以下配置的#…auto_eject_hosts:server_failure_limit:来说当连续3次向同一个服务器发送命令请求都遇到错误时就会将该服务器为下线,并将原本由这个服务器负责处理的键交给池中的其 的服务器来处理127.0.0.1:22121>SETcounter222127.0.0.1:22121>GET
#负责处理counter键的服务器正常上127.0.0.1:22121>GET(error)ERRConnectionrefused127.0.0.1:22121>GETcounter(error)ERRConnectionrefused127.0.0.1:22121>GETcounter
#负责处理counter键的服务器下#第三次尝试失败,counter键被转交给其他服务器处 提供了server_retry_timeout<time>选项,time参数的格式为当一个服务器被twem 判断为下线之后,在time毫秒之内,twem 器发送命令请求,但是在time毫秒之后,服务器会尝试重新向下线的服务器发送命令请求:如果命令请求能够正常执行,那么twem 但如果服务器还是不能正常处理命令请求,那么twem 举个例子,对于以下配置来说,twem #server_retry_timeout:127.0.0.1:22121>SETcounter222127.0.0.1:22121>GET
#负责处理counter键的服务器正常上127.0.0.1:22121>GET(error)ERRConnectionrefused127.0.0.1:22121>GETcounter(error)ERRConnectionrefused127.0.0.1:22121>GETcounter127.0.0.1:22121>GET
#负责处理counter键的服务器下#第三次尝试失败,counter键被转交给其他服务器处#原服务器重新上线 将counter键重新分配给 前面的内容介绍了twem 提供的主要功能,以及最重要的几个配置选项,想要了解 另外redis-mgr这个项目通过整合 、Sentinel以及twem 等组件,提供了一站式的Redis 复回顾本节学习m 是一个 服个s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物理测试题大全及答案
- 教育教学改进与反思结合的试题及答案
- 能量转化理论试题及答案2025
- 英语试题30题及答案
- 零售电商行业无人货架技术发展趋势报告
- 新能源汽车行业的国际合作试题及答案在2025年
- 新能源汽车的基础设施建设研究试题及答案
- 教师教育教学反思与改进策略的实施路径讨论试题及答案
- 未来家具设计文化与科技的碰撞试题及答案
- 安健环知识试题及答案
- 轻型载货汽车制动器设计
- 高考语文120个重点文言实词
- 江苏省粮食集团招聘笔试题库2024
- 2023年全国职业院校技能大赛-老年护理与保健赛项规程
- 2024年深圳市彩田学校初中部小升初入学分班考试数学模拟试卷附答案解析
- 2024年安徽安庆市交通控股集团有限公司招聘笔试冲刺题(带答案解析)
- 《沙龙培训》课件
- 充电桩四方协议书范本
- 中考英语情景交际和看图写话
- 知道智慧网课《科学社会主义概论》章节测试答案
- 事故调查分析课件
评论
0/150
提交评论