Redis缓存在群集Web场中?两个成员节点之间同步?

时间:2016-02-23 21:43:55

标签: redis

好的,我所拥有的是在Windows NLB集群环境中运行的2个Web服务器。服务器在各个方面都是相同的,正如您在NLB集群环境中所期望的那样,每个人都在访问集群名称,而不是单个成员。我们还对集群中的成员关闭了亲和力。

但是,我正在尝试做的是为一些大文件(MP3)打开一些缓存。在一个特定成员上拨打Redis节点并点击它很容易,一切都像你期望的那样工作。我可以从缓存中提取数据并根据需要提供服务。

现在,让我们添加NLB的开销。使用NLB,您每次都可能无法访问同一个Web服务器。你可能会第一次点击成员01,第二次点击02.所以,我需要一种方法在两台服务器之间进行同步。这样,无论您遇到哪个集群成员,您都将获得相同的数据。

我不需要担心一个缓存过时,我存储的唯一内容是来自内部Web服务的只读数据。

我只有2台服务器,看起来redis集群需要3.所以我想这就是了。

这是最好的方法吗?或者还有其他更好的东西?

redis的原因:我们只希望缓存仅在内存中使用。没有写入数据库。认为这是一个很好的选择,但需要确保两个服务器都可以使用这些数据。

1 个答案:

答案 0 :(得分:0)

不可能有redis多主机(两者都写)。我可能会说它的复制速度非常快(检查Redis的slaveof命令)。

但为什么你需要在同一台服务器上呢?将其作为服务访问。因此每个节点都将访问实际数据。如果主服务器发生故障,从服务器将立即将自己变为主服务器。

一个观察结果:您可能会注意到Redis以异步方式使用磁盘。这是一个仅附加文件,它根据大小不时检查点。