2013-03-06 124 views
3

假设我有一个主 - 从部署的Redis(1个主,1个从属)和一个将管理发布 - 订阅的客户端(webapp)。主从与发布 - 订阅连接

  • 我可以将消息发布到从属服务器,它们是否会被主服务器“看到”?
  • 或者我应该只使用Master for Publish和Slave for Subscribe命令?

我一直在环顾四周,但无法找到答案。有谁知道?

回答

1

对于您在Redis中存储的典型数据,您只应写入主数据。

http://redis.io/topics/replication

...写道到从站]如果从设备和主将[原文如此]重新同步,如果从站重新启动将被丢弃,或者...

事实上,从v2.6开始,你可以把奴隶放在slave-read-only模式下,这样可以防止把数据写入奴隶的错误。

文档确实去提一个潜在的使用情况下,写数据到从站:

...经常会有短暂的数据是不重要的,可以存储 变成奴隶。例如,客户端可以在从属实例中获取关于主设备的可达性的信息,以协调通过 策略的故障。

+3

是的,但这在发布 - 订阅场景中仍然如此吗? – 2013-03-06 21:24:28

0

答案是对cluster-spec文档:

发布/订阅

在Redis的集群客户可以订阅到每个节点,也可以发布到所有其他节点。群集将确保发布的消息根据需要进行转发。 当前的实现将简单地将每个发布的消息广播到所有其他节点,但是在某些时候,这将使用Bloom过滤器或其他算法进行优化。