立即咨询

电话咨询

微信咨询

立即试用
商务合作

优合融宜U-RDS分布式缓存中间件

优合融宜 U-RDS 分布式缓存中间件,兼容 Redis 部署策略,兼具分布式内存数据缓存数据库特性。具备高性能数据缓存能力,适配多场景业务需求,同时提供透明化高性能缓存数据库价格方案,助力企业提升数据处理效率、降低运维成本。
立即咨询

 

icon数据缓存技术的背景及发展icon
多个应用模块直接访问数据库获取数据,数据并发访问全部压在数据库上,没有突破设计峰值时,可正常运行
应用模块并发量超负荷时,①超负荷的数据请求将无法响应,②数据库无法响应数据服务请求,③原有正常的数据响应服务无法正常提供;导致系统全面崩溃

将应用模块高频使用的数据放在数据缓存中管理,借助内存高效读写特性,大幅度降低应用数据请求对数据库的压力
应用模块并发量突破数据缓存服务能力时,①数据缓存弹性扩展新的服务单元,②原缓存单元向新扩展单元同步数据并建立数据同步通道,③新缓存单元向应用提供数据服务;系统负荷进一步增长时,缓存可继续弹性扩展服务能力。
数据缓存技术的核心价值
提升应用数据访问效率
将频繁使用的数据(称为热数据)放在内存,利用内存读写效率高于磁盘的特性,提升应用应用的数据访问效率
增强应用并发支撑能力
数据缓存技术利用自身的弹性扩展能力,根据应用并发需求提供服务能力,确保高并发及超高并发时的数据访问支持能力
数据缓存技术的应用领域
数据库应用型系统,绝大多数都采用数据缓存技术提升系统服务能力
大数据应用中,大量采用数据缓存技术来提升数据处理和数据计算效率

 

 

icon数据缓存技术的背景及发展icon
缓存技术的发展
在互联网技术快速发展的时期,特别是在Web2.0快速发展时,数据处理中的高并发、海量处理问题,使得NOSQL数据库成为主流的解决方案;Oracle在2008年推出了Coherence,2010年引入中国,Redis在2009年正式推出第一个开源缓存版本
缓存技术被大量应用与业务系统处理数据高并发等业务场景问题
 
缓存技术的现状
业内多采用键值型NoSQL数据库来提供解决方案,该技术的产生和发展解决大规模数据集合、多重数据类型带来的挑战,尤其是大数据应用难题:
易扩展
数据之间无关系,非常容易扩展,在架构层面可带来可扩展的能力。
大数据量,高性能
具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单
灵活的数据模型
无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式
高可用
在不太影响性能的情况下,可方便实现分布式的高可用架构

 

 

icon数据缓存技术的背景及发展icon

为了实现数据缓存技术,出现了大量的数据缓存产品,主要分为:开源产品,国外商用软件产品,国内商用软件产品:

缓存产品市场现状分析
整体态势
国际上,数据缓存产品发展较早,形成了商用与开源共同发展的态势:国内缓存技术产品化较晚,2020年前后产品陆续推出,成熟度不高,多数基于开源改造或组合,自主研发率不高;Redis凭借其综合能力,及生态环境的成熟性,在全球市场上,成为缓存技术的主导产品,但在企业级应用中也存在开源天然的整端
发展分析
开源产品在企业级应用中,逐步凸显:管控能力不足,安全考虑不全等问题,重点行业、重点客户需要寻找更合适的替代方案,国产替代的大潮流,如:党政、金融、能源等诸多重点行业客户越来越重视国产化缓存技术的方向

 

 

icon产品总体介绍icon
产品介绍
U-RDS是分布式内存数据缓存数据库,用于高性能内存数据共享与应用支持
基于我公司对于高性能与高可靠业务的充分理解,结合内存数据库技术方面的多年研究开发经验,推出的新一代内存数据缓存产品
产品特点
RDS是基于多年的技术积累,完全独立自主研发的,企业级缓存数据库产品

 

icon产品核心架构及设计icon
领先的分布式架构
1、独创的多主技术,灾备可靠性提升、节点扩容能力大幅度增强;
2、近实时的故障切换能力:摒弃了Redis的主备模式,避免了主备切换时的选举延迟和服务暂停
集中化管理
1、中国企业管理较重视集中化管理,如何能够提供集中化管理能力是一项重要指标
2、RDS企业版针对中国国情,专门提供了集中化管理平台,支持可视化的配置管理及集中化的缓存服务监控
高安全性
1、针对Redis,我们产品提供更多安全技术手段,Redis产品是基于可信网络设计的天然存在安全隐患
2、RDS有针对性的屏蔽了Redis中存在较大安全隐患的使用和管理方式
Redis全兼容
1、Redis是目前全球应用最为广泛的开源缓存数据库,销售场景中会遇到产品替换场景
2、产品替换,应用迁移成本是客户的考虑重点,RDS的全兼容优势,使得客户应用迁移成本几乎为零

 

 

icon产品核心架构及设计icon

产品技术架构特色1:多线程处理

Redis6版本的IO多线程改进及限制
Redis6版本之前,所有client端命令的请求获取、解析、执行、内容返回都由一个线程处理,因此Redis无法充分利用多核CPU资源,性能受限于单核CPU的处理能力
Redis6之后给出了IO多线程方案,主处理数据的线程还是一个,但处理读写socket和解析协议由多个IO线程解决,通过IO并发,适度提升了性能
但Redis6版本以后的产品,其瓶颈人就受限于主线程的处理能力,而主线程仍旧是单一线程方式,这也是Redis官方推荐IO线程4至8个的原因,IO线程再增长,性能受限于主进程,反而会加大轮询压力。(如图所示)
 
RDS的多线程处理架构
RDS采用的多线程是真正意义上的多个工作线程,一个客户端命令操作分配至一个工作线程,该工作线程进行请求获取(socket读)、解析、执行、内容返回(socket写)完整的一整套操作
可以简单这样理解,RDS每一个工作线程就相当于一个Redis6版本以前的Redis在工作,配置多少线程数,就相当于是多少Redis在并行工作
在客户端并发数量较多时(大于4客户端),RDS的多线程模式在性能上会强于只是IO多线程化的Redis,且性能提升有更大的空间

 

 

icon产品核心架构及设计icon

产品技术架构特色2:多主架构
RDS在产品架构设计选型时,摒弃了Redis堪称经典的主从(Master-Salve)结构,选择了多主结构(Multi-Master),从根本上改变了缓存类数据库的数据处理逻辑

RDS数据存储节点多主架构:
客户端连接任何节点都可以读写,使得客户端进一步简化了使用方式
节点间数据相互复制(基于Hash算法加时钟算法),提升了数据节点并发服务的能力,性能提升
故障切换时,避免了Redis选举过程带来的服务响应中断的影响
没有主从切换,也避免了半数节点故障时引发选举机制失效,节点切换失败带来的服务灾难

 

 

icon产品核心架构及设计icon

产品技术架构特色3:高可用安全架构

RDS产品的安全设计理念:
(1)基于非可信网络的设计:充分考虑产品使用的网络环境存在不可信因素,包括传输和数据安全的充分考虑

(2)基于开源技术安全非可信的设计:假设开源技术都可能存在安全隐患,因此核心功能采用纯自研方式

(3)基于客户端不可信的设计:假设连接客户端可能存在非授权或恶意行为,因此采用集中化的管控机制

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

 

 

icon产品核心架构及设计icon

企业级集中化管控

RDS中心节点:提供集群各节点间的配置同步能力、License的授权和管控、节点状态收集

RDS管理控制台:监控每个节点的运行情况、客户端访问和服务请求等信息,提供可视化监控界面;提供所见即所得的RDS的部署、配置调整能力;提供所见即所得的可视化数据管理

 

 

 

icon产品核心架构及设计icon

企业级集中化管控

自动化配置管理的能力
支持可视化配置管理,配置校验,动态配置下发,配置动态同步等
服务节点/集群/缓存数据库整体监控能力
对提供服务的节点、集群、整个数据库的运行状态进行监控,通过可视化的图标展现当前数据服务能力状态及健康状态
数据维护能力
针对RDS的键值数据,提供了对数据直接访问维护的客户端工具,使得数据的维护如果关系型数据库一样便捷

 

 

icon产品核心架构及设计icon

Redis全面兼容——部署策略兼容
RDS采用多主架构,部署策略上本身不需要支持各种复杂的部署,但考虑Redis应用的普遍性,产品仿真了如哨兵机制
RDS在部署策略上,全面兼容Redis部署模式,以便客户应用的最简化移植

单机模式
RDS单副本,采用单个RDS节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景
主从模式
RDS采用主从(可以多从)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略
哨兵模式(sentinel)
哨兵集群是由若干哨兵节点组成的分布式集群,可以实现故障发现、故障自动转移、配置中心和客户端通知。特点有:哨兵的节点数量要满足2n+1(n>=1)的奇数个;哨兵集群模式是基于主从模式的,所有主从的优点,哨兵模式同样具有;主从可以切换,故障可以转移,系统可用性更好;哨兵模式是主从模式的升级,系统更健壮,可用性更高
集群模式(cluster)
RDSCluster集群能起到很好的负载均衡的目的。集群节点最小配置6个节点以上(3主3从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。集群中采用虚拟槽分区,所有的键根据哈希函数映射到0~16383个整数槽内,每个节点负责维护一部分槽以及槽所印映射的键值数据

 

icon产品核心架构及设计icon

我们兼容全部Redis中常用的数据操作类指令集
1.整个比较基于目前市场使用率最高Redis5.x版本进行比较
2.从安全方面考虑,屏蔽了所有管理类和有安全隐患的操作类指令,采用集中管控台方式提供相同管理能力
3.实现所有常用的数据操作指令全兼容,总计近200个
4.暂未实现数据操作指令12个,通过全面调查它们从未在国内客户中使用,占比6%(12个未实现/200个总命令数)
5.我们也保留通过扩展支持的API,如用户迫切需要,且可接受带来的安全隐患,我们也提供专项的指令扩展开发服务

 

 

icon产品核心架构及设计icon

Redis全面兼容——数据类型兼容

支持定制化的数据类型

兼容Redis各类数据类型同时,适应国内业务需求,支持Integer、Long、IP4、IP6、MAC等数据类型,提供更高效的处理能力、并有效节省内存

 

 

 

icon产品核心架构及设计icon

Redis全面兼容——非兼容能力分析

RDS在兼容Redis各项功能中是有所选择的,选择原则是
安全原则:针对Redis提供的各项指令逐项分析,摒弃和屏蔽掉存在安全隐患的指令
可靠原则:如果Redis具备的某项能力会影响到系统使用的稳定性和可靠性,则采用替代方案来解决
便捷原则:使用操作相对复杂的能力,或与客户常规思维不一致的能力,采用更便捷的方式向客户提供
RDS对Redis功能兼容设计中,重点考虑摒弃策略
摒弃全部管控类指令:
Redis现状:系统管理、配置管理都是采用指令方式,通过客户端调用指令方式进行配置管理
存在弊端:一方面缺少集中化管理体系,缺少整体性规划,另一方面,客户端安全存在各种隐患
替代方案:RDS提供了完整的集中化管控台,将所有配置管控类指令都通过管控台来实现,优势明显:(1)支持可视化配置能力,便于配置策略整体规划;(2)集中管控体系支持权限管理,增强的系统管理的安全性;(3)集成监控、数据维护等能力,可增强集中化管理能力

 

 

icon产品技术优势分析icon

多线程设计优势分析

基于多线程架构,通过RDS与Redis技术架构实现和实际测试对比,可以看出:

(1)如右图,在同样硬件环境下,配置线程数一致的情况下,RDS的性能提升空间更大

(2)RDS采用的架构,硬件资源的利用率更好,可以充分利用CPU资源提升性能

基于业务常识,Redis类的缓存产品性能远远高于实际业务需要,性能提升的必要性问题,而对此我方理解是:

(1)缓存应用还仅适合高频数据管理,而利用缓存数据的高效、高可用,扩展数据计算能力,在大数据实时计算和大数据边缘计算领域发挥作用,而计算能力依赖的就是CPU的运算处理能力,可充分利用CPU资源的产品,可以更好的平衡性能与计算能力的资源消耗

(2)RDS在多线程处理架构设计中,就考虑了对数据计算的扩展支持,RDS支持数据处理线程数控制,以便控制资源,支持计算能力,而在键值管控中,支持数据算法嵌入,而针对算法嵌入式开发提供完善的IDE环境支持,是RDS产品未来发展的重点版本规划之一

 

 

 

icon产品技术优势分析icon

技术特色总结:

考虑RDS对Redis的替代,需要满足兼容性和继承使用习惯,RDS完全兼容支持Redis的各种部署策略,及仿真选举、哨兵技术

客户使用RDS产品后,应用采用RDS提供的客户端,即可实现部署策略的极简化,以及管理和维护的低成本优势

Redis的主从架构核心技术分析
由于Redis的主从结构,数据写操作只在主节点实现,因此主节点故障时的主备切换非常关键,Redis采用选举、哨兵都是为保障主备切换的技术
而配合选举、哨兵技术的实现,Redis针对高可用提供了多种复杂的部署策略,如左图,针对不同的部署策略,维护管理也存在不同的策略
任何部署策略,需要确保选举有效,就要确保n/2+1以上个主节点或哨兵正常,如果选举机制失效,Redis服务就会崩溃,因此n/2+1是基础保障
RDS的多主架构核心技术分析
由于RDS多主架构,所有节点都可支持数据写操作,任何一个节点故障,仅需要请求重新分配,不存在主备节点切换,因此支持主备切换技术都不需要
由于没有切换,RDS实现高可用保障,仅需要考虑业务支撑需要,因此部署仅考虑节点数量,及数据切片集群问题,如左图,部署模式单一,管理简单
有效节点数仅需要考虑业务支撑的需要,原则上仅有一个数据节点(没有主从之分)可以保证缓存服务的正常

 

 

 

icon产品技术优势分析icon

多主架构的应用优势分析
当业务拓展,系统需要支持更广地域、更多用户使用量时:原系统需要从单一中心扩展为多地多中心时,现有的开源Redis无法实现多中心多活的部署模式。RDS采用独创的多主技术,支持中心多活部署模式,在不中断业务的情况下,提供“热扩容”能力:

1、支持多个集群的多活部署模式,支持跨机房跨地域多活部署模式
2、RDS的高效安全的数据同步机制,可"容忍"一定的网络时延情况下,实现了多活节点间的数据最终一致性

 

 

 

icon产品技术优势分析icon

RDS支持数据类型定制

根据国内使用场景,RDS产品提供了如:Integer,Long等数据类型的支持,还可以支持定制数据类型的开发支持,可以确保客户特定业务场景下的特殊数据类型支持


 
RDS的联合索引能力
1.RDS产品支持基于Key建立查询索引,与Redis一致通过Key实现数据查询检索
2.RDS产品支持对Value建立多重索引,支持联合索引查询能力
具体举例:
服务节点的参数Server.Table{n}.Indexes,即定义非唯一索引的最大配置数,可以配置为大于3的整数支持指定级数的联合索引

 

 

icon企业级优势分析——实时容灾能力(同构容灾)icon

RDS具备的跨集群同步数据能力支持高可用同构灾备方案
由于Redis技术架构特点,不支持跨集群数据实时复制,采用Redis时,异地容灾方案,只能依赖实施厂商单独编码实现冷备方案,

系统切换依赖于运维人员手工干预来实现
RDS产品设计就支持容灾热备机制,RDS支持同构和异构两种灾备方案

 
 
RDS同构灾备方案
如右图所示,业务主机房中的各数据集群通过产品同步机制实时将数据同步到备机房的备份集群中
出现灾难故障时,通过容灾切换机制,自动将业务请求切换到备机房,由于数据保持实时一致,备机房各集群可顺利接管业务

 

 

icon企业级优势分析——实时容灾能力(异构容灾)icon

RDS支持配套Redis的异构数据实时同步方案
1、客户的主应用采用Redis,而Redis自身不能跨集群实时复制数据,可以利用RDS作为Redis集群的热备集群,通过RDS提供的Redis仿真机制,实现从Redis到RDS的跨集群数据实时同步问题,实现异构热备

2、通过RDS支持的异构数据实时同步方案,可以实现业务不间断状态下,Redis应用向RDS的迁移,实现无感迁移,灰度上线

 

 

 

icon企业级优势分析——安全及能力扩展优势icon
RDS在非可信环境下的安全防控策略
非可信环境下,无论网络连接,还是客户端都可能存在非安全因素,其恶意攻击手段主要包含
1.恶意客户端不断尝试服务申请,通过高频次服务请求,大规模占用,甚至耗尽服务端资源,以实现无法响应正常服务的效果
2. 虽然客户端服务请求需要鉴权,恶意客户端可以通过高频服务请求,对鉴权密码进行暴力破解
RDS安全设计理念就是基于非可信环境的,支持鉴权失败次数限制,失败次数可配置调整,当客户端达到失败次数限制后会强制断开链接,并控制其5秒内不得重新连接尝试,有效防止了暴力攻击的可能性
RDS客户化扩展能力
RDS作为商用软件,在确保服务质量的同时,还充分考虑了客户各种使用场景中的能力扩展问题,特色有:
1、支持Java嵌入式扩展,除了前面描述的算法扩展能力外,还可以支持:新增处理数据类型和处理指令;对现有指令进行过滤和拦截,增加客户化处理逻辑;提供对RDS中数据的访问和计算处理能力;支持日志的访问和输出,以及日志分析再加工;特别是对现有指令的过滤和拦截能力,可以确保在不改变外部应用调用逻辑的前提下,增加指令的客户化业务处理加工逻辑
2、RDS产品支持通过Lua调用Java程序,进而实现产品能力扩展:通过Lua调用,实现外部复杂逻辑处理直接成为产品自身的能力扩展,在不改变产品内核稳定性前提下,实现企业特殊需求的叠加

 

 

icon自主可控的分布式缓存技术发展之路icon
RDS服务优势
企业级应用在支撑组件(操作系统、数据库、中间件)选型中存在两个不可回避的问题:
1、应用会跟随企业业务发展而升级,底层支撑组件的配套能力会不会成为应用升级的瓶颈
2、应用实现过程中,遇到底层支撑组件的技术问题,如何获取有效的技术支持和及时的产品级改进的服务问题
这两个问题,采用开源产品,或基于开源产品客户化构建的产品都无法给出合理的解决方案,RDS作为商用型产品,由于基础架构层都是完全基于自主设计、自主研发的,结合产品自身的扩展能力,可以很好的解决以上两大客户选型问题
RDS技术发展分析
在RDS产品规划设计时,充分论证了产品生命周期的战略阶段性规划问题
1、云化战略
RDS产品对Redis的全面替代,是产品发展的初级设计考虑,如何与云技术,特别是PaaS层完美结合,成为产品的重要发展规划,技术论证、探索及实验正在逐步开展中
2、数据计算战略
多线程架构设计时,就充分考虑了对数据计算的实时、海量、复杂计算的需求场景支撑问题,如何构建一个健康、完整的计算能力扩展IDE,成为产品长期发展的战略级规划

 

 

icon云化战略初步成果——RDS for Cloud(云原生)icon

云原生缓存整体架构设计上借鉴目前云计算中最为流行的微服务架构。整体上分为三大部分: 1被管理的RDS服务集群;    2中心服务;    3管理控制台

 

 

icon云化战略初步成果——RDS for Cloud(云原生)icon

RDS for Cloud是基于RDS产品核心能力,针对云原生环境设计开发的分布式数据缓存云化产品。采用多线程数据处理架构,全兼容Redis协议,支持丰富数据类型。 为客户提供稳定可靠、超高并发,且能够实时弹性扩容的核心数据缓存服务

RDS for Cloud云原生特点:
自动部署
RDS提供了自动化的云平台部署能力,只要设置-个RDS集群服务的几项基本配置后,通过自动服务调配能力,可以自动服务的部署
动态伸缩
当RDS服务的资源利用率达到预定上限,云平台可自动为工作节点补充分片节点组,并根据主/从配比对节点进行增补,实现服务能力弹性伸缩
故障恢复
当工作节点、代理节点、中心节点中部分无法工作时,系统会首先尝试重新启动恢复节点服务能力;如果服务恢复失败,系统会自动调度备份资源池中的节点对工作节点层进行补充,以保证整个集群的健康度,实现了故障动态恢复
 

 

 

icon数据算法管控战略——RDS的算法管控平台构想icon
基于数据的算法管理能力适用
1、IOT领域的边缘计算、边缘控制
2、Big Data领域的数据分布计算
3、AI领域的数据智能算法分布式管控
基于RDS的数据算法平台发展
1、基于嵌入式算法的开发管控能力,使得算法积累成为可能
2、基于池化技术的算法池管理能力,使得算法共享成为可能
3、与行业科研机构及学院体系配合,建立行业级的可控型数据算法生态池

 

 

产品推荐

浪潮科技智慧应急
浪潮智慧应急以数据集中和共享为依托,“抓全面数据、促业务融合、合多维展现”,建立应急管理数据生态,实现全方位预防管理,一体化应急指挥,大数据分析预警及决策,实现跨层级、跨地域、跨系统、跨部门、跨业务的协同管理和服务。
免费试用
查看详情
腾讯云连连智慧消防解决方案
高感度物联网消防监控平台、实时融合消防信息采集、三端协同多端触达、大数据一张图可视化指挥与决策,打造人防、物防、技防、智防“四位一体”的防范体系。
免费试用
查看详情
考试星在线考试系统
考试星在线考试系统,致力于提供优质的考试解决方案,功能完善且权威机构报告证实支持5万人同时在线,无压力应对各类大中小型考试需求。
免费试用
查看详情
七牛云QVM 云主机服务
七牛云主机服务是围绕云主机为核心,推出的含云硬盘、数据库、高防、负载均衡等解决方案为一体的云计算综合服务。
免费试用
查看详情