分布式redis客户端(dis redis),支持redis主服务器到成对从服务器的实时故障转移

disredis的Python项目详细描述


========
分布式redis客户端
======



分布式redis客户端(disredis)支持将
redis主服务器实时故障转移到成对的从服务器,在需要时提供更好的可用性和可靠性


可以使用disredis client类来代替严格的redis客户端。
不要传入主机和端口,而是以“主机:端口”的形式传入哨兵地址列表。它将连接到第一个响应的哨兵
,并查询它所知道的主人。这些主节点将成为被切分的
节点。只要主节点的数量不发生变化,即使存在节点故障,分片也将保持稳定。


在最初的失败中,如果在节点失败和sentinel执行故障转移过程之间发出请求,则有些请求可能会与connectionerror一起出错。


sentinel和两个redis实例
(一个主服务器和一个从服务器)用于测试故障转移。

每台服务器应该运行
两个sentinel和至少一个master和slave redis实例,
>运行在相反的服务器上。


124; redis02主机
…||…|

**重要事项:*如果您在aws上运行,请确保您的django服务器可以连接到aws redis服务器的内部ip。aws ec2实例
解析到它们的内部ip,这导致sentinel在查询时返回
内部ip。要检查redis实例的ip地址,请运行
以下命令:



sentinel配置示例:


端口26379;sentinel端口

sentinel monitor redis-redis1 server1.com 6382 2
redis-redis1毫秒后sentinel关闭60000
sentinel故障转移超时redis-redis1 900000
sentinel可以故障转移redis-redis1是
sentinel并行同步redis-redis1

sentinel监视器redis-redis2 server2.com 6383 2
redis-redis2 60000毫秒后sentinel关闭
sentinel故障转移超时redis-redis2 900000
sentinel能否故障转移redis-redis2是的
sentinel parallel syncs redis-redis2 1


有关redis和
sentinel安装和配置的更多详细信息,请查看redis文档。

我们还建议使用supervisor或类似工具来管理各种
redis和sentinel实例。

django安装程序
===


会话redis前缀='<;替换-例如mysessions>;'
session redis主机='localhost'
session redis数据库=6

session引擎='disredis会话。session'

session redis sentinel URL=[
'sentinel服务器:sentinel端口',
…]


重新启动django以开始使用redis进行用户会话


故障排除
===


>确保django应用服务器可以连接到redis
和sentinel端口。

redis服务器上的以下命令将检查所有redis实例(检查ip和主/从状态):

$redis cli-p<;sentinel端口,例如26379>;sentinel master

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么类似于安卓中iOS的VOIP推送和呼叫工具包,用于呼叫   java广播接收器第二次不工作   从maven本地导入java   java如何在jdbc中执行oracle过程   java单击按钮时如何更改JButton上的图像?   java Univocity如何将3(n)行解析为一行(bean)   java消除了字符串中出现的所有特定模式   javascript为什么Js不能从我的web服务目录加载图像文件?   pdf如何在没有AdobeAcrobat的情况下在Java中自动创建字段   反思如何以编程方式创建java文件   AmazonWeb服务java。木卫一。IOException:尝试读取aws s3存储桶上的关闭流   java如何在kotlin中映射基于升序的数组列表和排序   java执行一个方法的时间片段出现   不使用'synchronized'关键字的java线程安全代码?   使用Java小程序在浏览器中滚动至顶部   避免“ZLIB输入流意外结束”的java计时要求