【问题标题】:What is the benefit of Redis clustering on different hosts?Redis集群在不同主机上有什么好处?
【发布时间】:2017-01-24 01:47:06
【问题描述】:

假设我有 3 个 Web 应用 A 实例在负载均衡器后面运行(都在不同的机器上)。

在多个实例上运行 Redis 是否有好处?如果是这样,您如何在多个 Redis 实例之间实现奇偶校验?

我想我很好奇这种设置的利弊。

提出这个问题的全部原因是,如果您使用多个 Web 应用程序实例,一开始使用 Redis 的一些好处会不会被否定?在本地机器上与 Redis 交互似乎比从实例 A 的内存中提取数据然后通过网络将其移动到实例 B 快得多。

【问题讨论】:

    标签: amazon-web-services redis


    【解决方案1】:

    在多个实例上运行 Redis 有什么好处吗?

    是的。至少有三个好处。

    1. Redis 是单线程的(其实它有不止一个线程,但大部分工作都是在一个线程中完成的)。使用多个实例,您可以获得更好的性能。
    2. Redis 将数据存储在内存中,存储空间受限于单机内存大小。为了存储更多数据,您可以在不同的机器上部署多个 Redis 实例,每个实例存储整个数据的不同部分。
    3. 您可以让 Redis 主实例及其从属实例在 2 台不同的机器上运行。如果运行主实例的机器宕机,从属实例仍然可以处理请求。

    如果是这样,如何在多个 Redis 实例之间实现奇偶校验?

    我不确定您所说的 平价 是什么意思。你是说主从关系吗? Redis 可以有一个 master 和几个 slave,每个 slave 甚至可以有自己的 slave(如果我没记错的话)。

    如果您使用多个 Web 应用程序实例,首先使用 Redis 的一些好处会不会被否定?在本地机器上与 Redis 交互似乎比从实例 A 的内存中提取数据然后通过网络将其移动到实例 B 快得多。

    如果您将 Redis 实例和 Web 应用实例部署在 2 台不同的机器上,则必须确保 2 台机器之间的网络具有低延迟

    【讨论】:

    • 很好的信息。当我说奇偶校验时,我的意思是可以让 2 个 Redis 实例保持相同。因此,如果您设置了主/从。您如何实现两者之间的数据奇偶校验。
    • 很遗憾,Redis 的主从模型不是强一致性,只能支持最终一致性。这意味着,当您向主服务器写入一些密钥时,您无法从从服务器获取这些更新,直到主从之间的同步完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2016-09-20
    相关资源
    最近更新 更多