分布式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
分布式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