.Net Core下使用KeyDB高可用缓存集群

2022-04-15 00:00:00 集群 节点 缓存 哨兵 出现故障

前言

提到缓存,首先会想到Redis,它是目前流行的开源内存键值存储服务。

使用单个Redis实例进行缓存非常简单,如果创建高可用集群,则需要一个主节点、两个从节点和多个监视主节点的哨兵节点:



哨兵节点监控主节点的状态,一旦出现故障,则将其中一个从节点提升为主节点。

为了高可用集群正常工作,哨兵节点需要为单数,不仅要监控主副节点,它们之间也要互相监控。

一旦某个哨兵节点出现故障,则主从切换可能失效。

可以看到,这种方式不仅部署复杂,对运维也有较高要求。

KeyDB

KeyDB是Redis的高性能分支,专注于多线程、内存效率和高吞吐量。

KeyDB支持主动复制功能,每个节点都设置成主节点,节点之间互相同步数据:

KeyDB允许你读取和写入所有节点,这可以增加高负载下的读取,并可保证如果一个节点出现故障,另一个将继续工作。

Demo

下面,我们演示用CentOS创建KeyDB集群,并用http://ASP.NET Core Web API使用缓存。

1. 安装KeyDB集群

运行下列命令安装KeyDB:

wget https://download.keydb.dev/pkg/open_source/rpm/centos7/x86_64/keydb-latest-1.el7.x86_64.rpm
sudo yum install ./keydb-latest-1.el7.x86_64.rpm

相关文章