redis - 在 Redis 多主配置中同步数据

标签 redis multi-master-replication

我是 Redis 的新手,我想知道是否有人可以帮助我了解它是否是正确的工具。 这是我的场景:

我有许多不同的节点,每个节点都像主人一样接受客户端连接来读取和写入一些地理数据数据和传入记录的时间戳。 每个主节点都可以托管在无人机上,根据网络条件,无人机只能随机联系并可以与其他人通信;发生这种情况时,他们应该根据年龄同步数据(仅比指定时间更新的数据)。

有什么方法可以通过 Redis 实现这一点,还是我必须在应用程序级别实现此功能? 我尝试了主/从配置,但没有成功,我想知道 Redis Cluster 是否可以满足我的需求。

我四处搜索,但没有找到适合我的答案

https://serverfault.com/questions/717406/redis-multi-master-replication

Using Redis Replication on different machines (multi master)

最佳答案

Teo,事实上,redis 没有多主复制。

集群通过不同的实例对其数据进行分片。假设您只有两个 redis 实例。 Instance1 将接受存储和检索 instance1 和 instance2 数据。但是他会请求并存储 instance2 中不属于他的分片的每个键。

我认为这不是您真正想要的。您可以尝试 PostgreSQL+BDR,因为 PostgreSQL 支持 nosql 存储,而 BDR 提供真正的主主复制 (https://wiki.postgresql.org/wiki/BDR_Project),如果您确实需要的话。

我现在同时使用这两个(以及 MongoDB)。每个人都有不同的目标。 Redis 将提供更小的开销和内存使用、快速连接和快速复制。但它不会提供多主机(如果你真的需要它)。

关于redis - 在 Redis 多主配置中同步数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34989876/

相关文章:

python - Flask-SocketIO redis 订阅

.net-core - 除了从本地主机无法连接到Redis

Redis RDB 比内存使用量 (716MB) 小 (203KB)

MySQL 多主复制

mysql - 获取主文件日志(MySQL 复制)中的最后位置?

Python mysql 复制客户端不显示值

spring-boot - 如何使用 Spring boot Redis 获取对象空闲时间

load-balancing - 使用 HAProxy for Postgresql 9.4 的负载平衡

redis - 在不同机器上使用 Redis Replication(多主)

redis - 在redis-brain中用新的redis服务器替换本地redis服务器