跳至主要內容

缓存服务器


缓存服务器

TongRDS

产品介绍

TongRDS是一款高性能多并发分布式数据缓存中间件,为企业信息化系统提供数据信息的缓存、分享与同步功能。通过先进的内存分配算法,产品实现了基于内存方式的数据高性能读写、实时稳定数据同步、分布式部署等功能,满足企业分布式与高可用使用场景。TongRDS提供了高度兼容Redis的数据访问接口,并保持优于Redis的读写性能

产品特性

核心优势

  • 领先的分布式架构:独创的多主技术,灾备可靠性提升、节点扩容能力大幅度增强;近实时的故障切换能力,避免了主备切换时的选举延迟和服务暂停。
  • 高安全性:内核纯自研架构,避免了 Redis 安全漏洞和接口后门,提供了国密加密技以保证更高的数据安全。
  • 集中化管理:RDS 企业版针对国内用户需求,专门提供了集中化管理平台,支持可视化的配置、数据维护、监控跟踪和自动恢复能力;
  • Redis 全兼容:Redis 全球应用最广的开源缓存中间件,RDS 的全兼容优势,使得客户应用迁移成本几乎为零;

分布式架构

  1. 高效的并行处理架构,资源利用率优势明显。RDS 采用多线程并行处理架构,能够充分利用现代 CPU 多核技术的并发处理能力。
  2. 通过多线程的处理能力,性能优势远远领先于 Redis。在处理多个客户端并发请求时性能远远超出 Redis,在 16 客服端线程并发访问时,RDS 的处理能力约为 Redis 的 2.5 倍。
  3. 用 Java 语言纯自研架构,软硬件兼容能力高。Java 语言在国产环境已得到充分的适配,而 C、C++、Go 等编译型语言在不同平台需要重新编译、适配和测试。对国产环境有很好的兼容性,已通过几乎所有常见的软硬件平台的互信测试。
  4. 领先的多主分布式架构,提供高可靠性和高稳定性能力。提供了无中断的故障切换,实时热备,无间断的故障恢复能力。

高安全性

  • 数据安全:全面支持国密级加密算法;支持连接加密;支持数据使用过程中的鉴权数据加密。
  • 架构安全:基于 Java 纯自研,规避开源框架可能带来的隐患,不存在开源Redis 安全漏洞。
  • 管理安全:提供集中化管理平台,提供配置、监控、权限控制等能力,取代了Redis 开放管理 API 进行管理控制的漏洞和隐患。
  • 传输安全:全面支持国密级加密算法;支持连接加密;支持数据使用过程中的鉴权数据加密。 RDS 的设计是基于非可信网络的设计,从架构上就全面规避了各种网络上可能的风险因素。

安装配置

产品安装包、许可、产品文档等需要联系东方通商务获取,安装配置流程可以参考以下手册初步了解:

达梦Redis

达梦新云缓存数据库是由达梦数据技术(江苏)有限公司自主研发的深度兼容原生Redis的Key-Value数据库,其在并发访问性能上相比原生Redis具有明显优势,可满足业务系统对具有高性能、高可靠性、弹性扩展、数据强一致等特性的Key-Value系统的需求。

单机模式安装

主备集群安装

主备集群概述

达梦新云数据库(For Redis)主备集群,可以实现数据多副本 、使用读写分离设置实现压力分流等操作。

达梦新云数据库(For Redis)主备集群还提供了守护插件——dmncdb_monitor。由 dmncdb_monitor 守护的达梦新云数据库(For Redis)主备集群,在主库发生故障时,dmncdb_monitor 配置时间内会选举一个备库为新的主库,以保证集群正常对外提供服务。 如果之前的主库恢复服务,也自动变更为备库。

达梦新云数据库(For Redis)主备集群,最大可以支持 16 个备库节点。集群包括一个主库、1 到 16 个备库以及一个监视器组成。其架构如下图所示:

img.png

  • 主库(dmncdb_redis)是主备集群中对外提供服务的主要节点。一个主备集群只有一个主机,主机可以接受客户端的读写请求,并将数据同步发送给备机。
  • 备库(dmncdb_redis)是主备集群中主机的备份节点。当 dmncdb_redis 配置为备库启动后,主库就会将所有数据打包成 rdb 文件发送给备库,当备库将所有数据读取到内存后,也可以对外提供数据读取服务,降低主库压力。
  • 监视器(dmncdb_monitor)是主备集群中所有节点状态的监听者,为主备集群和分布式集群提供自动故障处理,实现高可用。当发现主库出现故障后,在配置时间内,监视器会自动选举一个备库作为新的主库,以保证集群对外正常提供服务。如果旧的主库恢复服务,也自动变更为备库。

组件介绍

达梦新云数据库(For Redis)主备集群组件有 dmncdb_redis 和 dmncdb_monitor。其 中 dmncdb_redis 是核心组件,主库和备库都是 dmncdb_redis 服务。dmncdb_monitor 用来保证集群高可用。

dmncdb_redis

主备同步机制:主从同步有两种机制,全量同步和增量同步。在从库首次加入集群,或者在通信出现问题等情况,导致主从数据库数据差异变大时,会做全量同步。在从库对外服务后,客户端对主库的修改,会以命令流的方式发送到从库。

  • 全量同步:主库会将当前的数据,形成快照 rdb 文件,发送给从库,从库在接收完 rdb文件后,将 rdb 文件加载进内存中。从库加载完成后才可以对外服务。
  • 增量同步:主库的修改,会以命令流的方式,增量发送至从库,在从库执行一遍这些命令,以保证主从数据的一致。
dmncdb_monitor

启动参数说明:在启动 dmncdb_monitor 时,通过--conf 参数指定 dmncdb_redis.ini,启动dmncdb_monitor 服务即可。

主备集群搭建

主备集群的搭建,可采用修改配置文件启动方式、命令的方式、自动部署集群脚本方式。本章将以修改配置文件、命令的方式和运行自动部署主备集群脚本的方式,示例dmncdb_redis 主备集群搭建。

安装前确认事项

在部署达梦新云数据库(For Redis)主备集群之前,用户需要确认以下环境:

  1. 按照单机版中的说明准备系统配置;
  2. 不同服务器节点的时间要一致;
  3. 为了避免使用异常,主备节点的 dmncdb_redis 使用同一个版本;
节点规划

本文以搭建一主 2 备集群,并将监视器配置在一个备库部署的服务器上。节点规划信息如下表所示:

节点地址
dmncdb_redis(主机)10.14.1.20:6379
dmncdb_redis(备机 1)10.14.1.21:6380
dmncdb_redis(备机 2)10.14.1.22:6380
dmncdb_monitor10.14.1.22:26379

在 10.14.1.20、10.14.1.21、10.14.1.22 三台服务器安装 dmncdb_redis 实例,详细参考单机模式安装流程。

启动主机

在主机部署服务器节点:10.14.1.20 的/opt/dmncdb_redis/bin 目录下,执行以下命令启动主机。

./dmncdb_redis ./dmncdb_redis.ini
启动备机

在 10.14.1.21、10.14.1.22 服务器上分别修改 dmncdb_redis.ini 配置文件,配置 replicaof 和 port 参数。本次示例参数为:

replicaof 10.14.1.20 6379
port 6380

在备机部署节点的/opt/dmncdb_redis/bin 目录下,分别执行下面的命令启动备机

./dmncdb_redis ./dmncdb_redis.ini

此时集群已经搭建完成,可以对外服务。使用 redis-cli 连接主节点,可以查看到其节点信息。

10.14.1.20:6379> info
启动 dmncdb_monitor

修改 10.14.1.22 服务器 /opt/dmncdb_redis/monitor 目录下的dmncdb_monitor.ini 配置文件。

port 26379
sentinel add mymaster 10.14.1.20 6379 1

启动 dmncdb_monitor。

./dmncdb_monitor --conf=dmncdb_monitor.conf
使用 redis-cli 连接主机,使用 info Replication 命令查看主备启用成功。
10.14.1.20:6379> info Replication
# Replication
role:master
connected_slaves:2
slave0:ip=10.14.1.21,port=6380,state=online,offset=406,lag=1
slave1:ip=10.14.1.22,port=6380,state=online,offset=420,lag=0
master_replid:f3063e6c9a095d857e5596e1450906534980a7fe
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:420
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:420

使用redis-cli 连接 dmncdb_monitor 节点,使用 info Sentinel 命令查看dmncdb_monitor 信息。

10.14.1.22:26379> info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=10.14.1.20:6379,slaves=2,sentinel=1

自动部署集群

使用 rpm 包安装 dmncdb_redis 后,在目录/opt/dmncdb_redis/bin 下面,有自动安装部署主备集群的脚本:dmncdbredis_masterfollower_installer.sh。依次按照脚本的提示信息输入对应的集群信息即可。

脚本执行步骤说明

  1. 进入目录/opt/dmncdb_redis/bin,运行自动安装部署主备集群脚本。
    ./dmncdbredis_masterslave_installer.sh
    
  2. 跟进脚本运行提示,输入主库 IP、port。如果主库 IP 不是当前 IP,需要输入目标 IP 的 root 账号密码以创建 ssh 连接,并进行必要安装文件拷贝。
  3. 输入备库的数量。
  4. 依次输入各个备库的 IP 和 port。如果备库 IP 不是当前 IP,需要输入目标 IP 的 root 账 号密码以创建 ssh 连接,并进行必要安装文件拷贝。
  5. 输入 dmncdb_monitor 对应的 IP 和 port。
  6. 脚本将按照部署配置文件,注册各个节点的 dmncdb_monitor 和 dmncdb_redis 服务并将其启动。脚本执行完,集群可以直接对外提供服务。