Redis宣布商用后,Redis国产化替代方案有那些?
一、背景
Redis作为使用最为广泛的开源缓存中间件,现已成为IT开发中必不可少的核心组件。官方修改协议印证了“开源”不意味着“无偿使用”,相关限制或将对基于开源Redis提供中间件产品的厂商,及提供Redis服务的云厂商产生一定影响。
二、国产化替代方案
我这边了解到的有:东方通TongRDS中间件、宝蓝德CacheServer中间件、腾讯Tendis中间件、阿里Tair、阿里OceanBase、百度Nedis、达梦新云缓存数据库、星环科技湖仓一体方案、小米XRedis、京东JRedis、中兴ZXRedis。(有知道其他的可以评论留言哈)
国内有多家企业推出了自己的云原生数据库产品,如华为云的PolarDB、阿里云的ApsaraDB for Redis、腾讯云的TencentDB for Redis等,这些产品在性能、扩展性和稳定性方面与Redis相当,并且具有更好的本地化支持和数据安全性。
三、Redis国产化替代方案特点
下面介绍下主流的几个国产缓存中间件:
1.东方通TongRDS中间件
东方通拥有自主架构的分布式数据缓存中间件TongRDS,可在不修改代码的前提下,实现对开源Redis的无缝替换。东方通数据缓存中间件TongRDS基于Java开发,代码自主率95%以上,在指令和协议上完全兼容Redis,已广泛应用于运营商、金融和党政等安全性能要求严苛的行业客户,可实现高效、平滑替代。
TongRDS是一款高性能多并发分布式数据缓存中间件,为企业信息化系统提供数据信息的缓存、分享与同步功能。通过先进的内存分配算法,产品实现了基于内存方式的数据高性能读写、实时稳定数据同步、分布式部署等功能,满足企业分布式与高可用使用场景。TongRDS提供了高度兼容Redis的数据访问接口,并保持优于Redis的读写性能。
2.宝蓝德CacheServer中间件
宝兰德分布式缓存数据库,简称BES CacheServer。分布式高性能 KV 缓存数据库,完全兼容Redis协议标准,主要解决高并发、大数据量场景下的数据访问性能问题。
BES CacheServer是一款国产自研的高性能KV存储数据库软件。完全兼容Redis协议标准,支持基于内存和文件的持久化存储,保证数据的安全可靠;使用标准C编写,将所有数据加载内存中,速度快;支持包括字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sortedsets)在内的多种数据结构;支持单机、主从、集群等多种部署架构;支持数据分片,数据分布在多个实例中;客户端支持Python、Java、Lua、PHP、Ruby、Perl等多种语言。主要解决高并发、大数据量场景下的数据访问性能问题。可灵活的支持物理机、虚拟机、容器环境部署。
BES CacheServer优势:
1.产品竞争力优势
宝兰德中间件品类丰富,可兼容不同基础设施运行环境;源码自有、安全可控、名录产品、持续加码创新突破技术研发;超15年运行投产经验、可强势PK国外主流中间件产品。
2.安全性能优势
宝兰德中间件系列产品支持使用国密算法SM2、SM3、SM4进行通讯,保障数据传输的安全性。内部安全团队实时跟踪监测安全漏洞,定期组织攻防演练与安全加固,及时修复潜在安全风险。同时,宝兰德提供全面、多维度的监控指标数据,包括JVM使用情况、web连接池使用情况等,积极响应用户的定制化监控需求。
3.技术实力优势
国内首创JDBC多数据源、资源泄漏智能侦测和回收、集成负载均衡软件等;宝兰德独创EJB私有访问协议,是国内外唯一能够媲美WebLogic T3协议的高性能协议;国内首家通过信通院云原生能力成熟度四级的中间件厂商。
4.服务能力优势
完全掌握代码、定制能力强,覆盖全国30多个省市的专业技术服务团队,7*24小时为产品稳定运行保驾护航。
5.国产环境适配
宝兰德的中间件产品对比非国产产品,能以优异的性能、高安全性、高稳定性运行在国产环境下,屏蔽掉底层基础设施差异带来的问题,同时宝兰德响应国家信创要求,适配各类国产服务器芯片、操作系统、数据库以及应用软件。
6.市场占有率优势
运营商起家,中国移动90%+份额,起点高;全国信创,从部委到地方党政广泛覆盖;金融翘楚,占据金融中间件市场60%份额。
7.案例优势
支持全国14亿用户使用的业务系统运行;中间件实例替换总数量全国第一;N个中间件产品采购规模1000W+案例。
3.腾讯Tendis中间件
由腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队联合研发的 Tendis 推出了: 缓存版 、混合存储版和存储版三种不同产品形态, 针对不同的业务需求,并将存储版开源。
1.Tendis 缓存版:适用于对延迟要求特别敏感, 并且对 QPS 要求很高的业务。基于社区 Redis 4.0 版本进行定制开发。Tendis存储版自主设计和研发的开源分布式高性能KV存储。完全兼容redis协议,并使用rocksdb作为存储引擎。用户可以通过redis client访问Tendis存储版,几乎不用修改代码。同时,Tendis存储版支持远超内存的磁盘容量,可以大大降低用户的存储成本。类似于Redis Cluster, Tendis存储版使用去中心化的集群管理架构。数据节点之间通过gossip协议通讯,用户访问集群中的任意数据节,请求都能路由到正确的节点。并且集群节点支持自动发现、故障探测、自动故障切换、数据搬迁等能力,极大降低运维成本。
2.Tendis 存储版:适用于大容量, 延迟不敏感型业务, 数据全部存储在 磁盘, 适合温冷数据的存储。Tendis 存储版是腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队 自主设计和研发的开源分布式高性能 KV 存储系统。另外在 可靠性、复制机制、并发控制、gossip 实现以及数据搬迁等做了大量的优化, 并且解决了一些 Redis cluster 比较棘手的问题。完全兼容 Redis 协议, 并使用 RocksDB 作为底层存储引擎。
3.Tendis 冷热混合存储版:冷热混合存储 综合了缓存版和存储版的优点, 缓存层存放热数据, 全量数据存放在存储层。这既保证了热数据的访问性能,同时保证了全量数据的可靠性,同时热数据支持自动降冷。
4.阿里Tair
阿里云Tair是一款高性能、高可用的分布式缓存系统,由阿里巴巴集团开发,适用于各种大规模的在线服务和应用场景。它支持多种数据类型和数据操作,包括字符串、哈希表、列表、集合、有序集合等,能够提供快速的数据读写和访问服务。Tair提供了多种接口和客户端,包括Java、PHP、C++、Python等,方便集成到不同的应用程序中。同时,Tair还提供了管理和监控工具,如控制台、命令行工具、API接口等,帮助用户管理和监控Tair集群的运行状态和性能指标。
Tair的应用场景非常广泛,包括电商和在线购物平台的订单管理、商品库存管理、用户购物车等业务场景;游戏和在线娱乐平台的游戏状态管理、虚拟物品管理、游戏排行榜等业务场景;社交和即时通讯平台的用户信息管理、好友关系管理、消息队列等业务场景;以及金融和支付平台的账户信息管理、交易记录管理、数据统计等业务场景。
云原生内存数据库Tair是阿里云国产自研的云原生内存数据库,完全兼容Redis的基础上,提供了丰富的数据模型和企业级能力来帮助客户构建实时在线场景。Tair与新型存储介质——持久内存的高效结合,相比内存型成本降低30%以上,并能做到数据持久化和提供近似于内存的性能。Tair已广泛应用于政务、金融、制造、医疗和泛互联网等各行业客户,满足客户的高速查询和计算场景。
Tair支持多种存储介质和不同场景性价比需求,包括内存型支持超高吞吐,性能为Redis三倍;持久内存型成本降低30%,支持数据实时持久化;支持向量检索能力。此外,Tair还兼容Redis 4.0、5.0、6.0版本,可根据业务需求进行选择,支持单副本、双副本,智能读写分离、集群架构等多种架构,满足不同的业务需求。
阿里云Tair以其高性能、高可用性、丰富的数据类型支持以及广泛的应用场景,成为了企业构建高性能分布式缓存系统的理想选择。
相关文章:
Redis宣布商用后,Redis国产化替代方案有那些?
一、背景 Redis作为使用最为广泛的开源缓存中间件,现已成为IT开发中必不可少的核心组件。官方修改协议印证了“开源”不意味着“无偿使用”,相关限制或将对基于开源Redis提供中间件产品的厂商,及提供Redis服务的云厂商产生一定影响。 二、国…...
Go API
Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org Golang中文网在线标准库文档: https://studygolang.com/p…...
基于STM32的简易智能家居设计(嘉立创支持)
一、项目功能概述 1、OLED显示温湿度、空气质量,并可以设置报警阈值 2、设置4个继电器开关,分别控制灯、空调、开关、风扇 3、设计一个离线语音识别系统,可以语音控制打开指定开关、并且可以显示识别命令词到OLED屏上 4、OLED实时显示&#…...
【YOLOv5/v7改进系列】改进池化层为RT-DETR的AIFI
一、导言 Real-Time DEtection TRansformer(RT-DETR),是一种实时端到端目标检测器,克服了Non-Maximum Suppression(NMS)对速度和准确性的影响。通过设计高效的混合编码器和不确定性最小化查询选择…...
使用Python和Matplotlib绘制复杂数学函数图像
本文介绍了如何使用Python编程语言和Matplotlib库来绘制复杂的数学函数图像。通过引入NumPy库的数学函数,我们可以处理包括指数函数在内的各种复杂表达式。本文详细讲解了如何设置中文字体以确保在图像中正确显示中文标题和标签,并提供了一个完整的代码示例,用户可以通过输入…...
淘宝/1688获得店铺的所有商品(商品列表)
通过以下步骤,可以获得淘宝或1688店铺的所有商品。请注意,具体步骤可能会因为平台的更新而有所改变,可以根据实际情况进行操作。 更多API调用展示以及获取Key和secret请移步 返回数据格式: {"user": null,"ite…...
【MySQL】锁机制
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …...
LangChain入门学习笔记(一)——Hello World
什么是LangChain LangChain是一个开源(github repo)的大语言模型应用开发框架,提供了一整套的工具、方法和接口去帮助程序员构建基于大语言模型的端到端应用。LangChain是长链(long chain)的意思,它的一个…...
[ROS 系列学习教程] 建模与仿真 - 使用 Arbotix 控制机器人
ROS 系列学习教程(总目录) 本文目录 一、Arbotix 简介二、安装Arbotix三、配置Arbotix控制器四、配置launch启动文件五、数据交互接口六、在rviz中仿真控制机器人6.1 直接发topic控制6.2 使用键盘控制6.3 编写代码控制机器人移动 前面讲了机器人的建模,是静态的&…...
java:使用JSqlParser给sql语句增加tenant_id和deleted条件
# 示例代码 【pom.xml】 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-core</artifactId><version>3.4.3.1</version> </dependency>【MyJSqlParserTest.java】 package com.chz.myJSqlParser;pu…...
华三HCL模拟器安装及华三防火墙配置
0、前言 最近跟模拟器杠上了,主要是需要运行防火墙,目前已经成功模拟出华为、山石防火墙,而且模拟出来的设备能与物理网络环境进行互联。现在我又盯上华三防火墙了。 首先下载模拟器: 下载地址:H3C网络设备模拟器官方免…...
MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)
绪论 勿问成功的秘诀为何,且尽全力做您应该做的事吧。–美华纳;本章是MySQL的第二章,本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理,本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本…...
【6】第一个Java程序:Hello World
一、引言 Java,作为一种广泛使用的编程语言,其强大的跨平台能力和丰富的库函数使其成为开发者的首选。对于初学者来说,编写并运行第一个Java程序是一个令人兴奋的时刻。本文将指导你使用Eclipse这一流行的集成开发环境(IDE&#…...
pytorch神经网络训练(AlexNet)
导包 import osimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom PIL import Imagefrom torchvision import models, transforms 定义自定义图像数据集 class CustomImageDataset(Dataset): 定义一个自…...
构建大语言模型友好型网站
以大语言模型为代表的AI 技术迅速发展,将会影响原有信息网络的方式。其中一个明显的趋势是通过chatGPT 对话代替搜索引擎和浏览器来获取信息。 互联网时代,主要是通过网站(website)提供信息。网站主要为人类阅读的方式构建的。主要…...
Git代码冲突原理与三路合并算法
Git代码冲突原理 Git合并文件是以行为单位进行一行一行合并的,但是有些时候并不是两行内容不一样Git就会报冲突,这是因为Git会帮助我们进行分析得出哪个结果是我们所期望的最终结果。而这个分析依据就是三路合并算法。当然,三路合并算法并不…...
聆思CSK6大模型开发板英语评测类开源SDK详解
离线英文评测算法SDK 能力简介 CSK6 大模型开发套件可以对用户通过语音输入的英文单词进行精准识别,并对单词的发音、错读、漏读、多读等方面进行评估,进行音素级的识别,根据用户的发音给出相应的建议和纠正,帮助用户更好地掌握单…...
通用大模型VS垂直大模型,你更青睐哪一方?
这里写目录标题 一、通用大模型简介二、垂直大模型简介三、通用大模型与垂直大模型的比较四、如何选择适合的模型五、通用大模型和垂直大模型的应用场景六、总结 近年来,随着人工智能技术的飞速发展,大模型的应用越来越广泛。无论是自然语言处理、计算机…...
Python第二语言(十四、高阶基础)
目录 1. 闭包 1.1 使用闭包注意事项 1.2 小结 2. 装饰器:实际上也是一种闭包; 2.1 装饰器的写法(闭包写法) :基础写法,只是解释装饰器是怎么写的; 2.2 装饰器的语法糖写法:函数…...
python脚本之调用其他目录脚本
import sys# 添加新路径到搜索路径中 sys.path.append(/脚本父级)# 现在可以导入该路径下的模块了 from 脚本 import 方法方法()...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
