背景

在读取redission的配置[
https://github.com/redisson/redisson/wiki/2.-Configuration]时提到redis客户端对应的redis部署架构有6种,分别是:

  • Cluster mode

  • Replicated mode

  • Single instance mode

  • Sentinel mode

  • Master slave mode

  • Proxy mode

集群模式,单实例模式,哨兵模式,主从模式我们经常看到,但Replicated模式是什么呢?

Replicated模式

redis的官方说明【
https://redis.io/topics/replication】,redis支持异步replication了:

Redis also supports asynchronous replication, with very fast non-blocking first synchronization, auto-reconnection with partial resynchronization on net split.

从网上可以看到自己部署redis replicated模式的方法:
https://www.tecmint.com/setup-redis-replication-in-centos-8/。

从Redission的描述中:

Replicated mode could be used with any hosting, but also supports AWS ElastiCache and Azure Redis Cache.

云服务厂家也提供这种方式。并给出了aws和azure redis的链接。

AWS ElastiCache的replicated模式

https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.html

从它的描述方式,replicated模式有非集群和集群模式,

非集群模式有一个primary(主节点)和0到5个replica节点

原来这就是Redis master-replica部署架构呀!_Java

 

集群模式支持单个集群内最多500个节点,即最多83个shard(每个shard有一个primary节点和5个replica节点)或者500个shard(每个shard只有primary节点,没有replica节点)

Azure Redis Cache部署模式

https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/ase-standard-deployment

读者老爷,微软的文档没有看懂,请见谅!为了补偿读者老爷,我扒拉下来阿里云的部署方式。

阿里云的云redis部署模式


https://help.aliyun.com/document_detail/52226.html?spm=a2c4g.11186623.6.578.71064537dD82k0】

部署架构有以下几种:

原来这就是Redis master-replica部署架构呀!_Java_02

 

 

其中,标准版-双副本模式采用主从(master-replica)模式搭建。主节点提供日常服务访问,备节点提供HA高可用,当主节点发生故障,系统会自动在30秒内切换至备节点,保证业务平稳运行。

原来这就是Redis master-replica部署架构呀!_Java_03

 

因为要支持ha的原因,阿里云仅支持一个主节点和一个replica节点的replica模式。

总结

从上面可以看出,

1.redis的replicated功能类似与master-slave模式,但和master-slave模式不同的是,replica的节点数据仅仅是primary节点的一部分,而slave节点是master的全量数据。

2.可以构建自己的replicated模式,也可以使用云服务方式,但云方式和标准版不同,需要注意。