- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Sentinel的Redis高可用方案
一、Redis Sentinel是redis自带的集群管理工具,主要功能有· ?监控(Monitoring):?Redis Sentinel实时监控主服务器和从服务器运行状态。· ?提醒(Notification):当被监控的某个?Redis?服务器出现问题时,?Redis Sentinel?可以向系统管理员发送通知,也可以通过?API?向其他程序发送通知。· ?自动故障转移(Automatic failover):当一个主服务器不能正常工作时,Redis Sentinel?可以将一个从服务器升级为主服务器,并对其他从服务器进行配置,让它们使用新的主服务器。当应用程序连接到Redis?服务器时,?Redis Sentinel会告之新的主服务器地址和端口。Redis Sentinel?是一个分布式系统,你可以在架构中运行多个?Sentinel?进程,这些进程通过相互通讯来判断一个主服务器是否断线,以及是否应该执行故障转移。在配置Redis Sentinel时,至少需要有1个Master和1个Slave。当Master失效后,Redis Sentinel会报出失效警告,并通过自动故障转移将Slave提升为Master,并提供读写服务;当失效的Master恢复后,Redis Sentinel会自动识别,将Master自动转换为Slave并完成数据同步。通过Redis Sentinel可以实现Redis零手工干预并且短时间内进行M-S切换,减少业务影响时间。二、拓扑结构在两个服务器中分别都部署Redis和Redis Sentinel。当Master中的Redis出现故障时(Redis进程终止、服务器僵死、服务器断电等),由Redis Sentinel将Master权限切换至Slave Redis中,并将只读模式更改为可读可写模式。应用程序通过Redis Sentinal确定当前Master Redis位置,进行重新连接。根据业务模式,可以制定两种拓扑结构:单M-S结构和双M-S结构。如果有足够多的服务器,可以配置多M-S结构。1、单M-S结构单M-S结构特点是在Master服务器中配置Master Redis(Redis-1M)和Master Sentinel(Sentinel-1M)。Slave服务器中配置Slave Redis(Redis-1S)和Slave Sentinel(Sentinel-1S)。其中?Master Redis可以提供读写服务,但是Slave Redis只能提供只读服务。因此,在业务压力比较大的情况下,可以选择将只读业务放在Slave Redis中进行。2、双M-S结构双M-S结构的特点是在每台服务器上配置一个Master Redis,同时部署一个Slave Redis。由两个Redis Sentinel同时对4个Redis进行监控。两个Master Redis可以同时对应用程序提供读写服务,即便其中一个服务器出现故障,另一个服务器也可以同时运行两个Master Redis提供读写服务。缺点是两个Master redis之间无法实现数据共享,不适合存在大量用户数据关联的应用使用。3、优劣对比两个结构各有优缺点,分别适用于不同的应用场景:单M-S结构适用于不同用户数据存在关联,但应用可以实现读写分离的业务模式。Master主要提供写操作,Slave主要提供读操作,充分利用硬件资源。双(多)M-S结构适用于用户间不存在或者存在较少的数据关联的业务模式,读写效率是单M-S的两(多)倍,但要求故障时单台服务器能够承担两个Mater Redis的资源需求。?三、配置部署单M-S结构和双M-S结构配置相差无几,下面以双M-S结构配置为例。1、Redis配置1)Master Redis配置在Server-1M上配置Redis-1M# vi redis-1M.conf## master redis-1M## daemonize默认为no,修改为yes,启用后台运行daemonize?yes# Redis?默认pid?文件位置redis.pid#当运行多个?redis?服务时,需要指定不同的?pid?文件和端口pidfile redis-1M.pid##端口号port 6379##验证口令???requirepass *************?masterauth *************?#绑定可连接Redis的IP地址,不设置将处理所有请求# bind 127.0.0.1#客户端连接的超时时间,单位为秒,超时后会关闭连接(0为不设置)timeout 0#日志记录等级loglevel notice#设置数据库的个数databases 16#日志刷新策略(Master禁用)#save 900 1#save 300 10#s
文档评论(0)