华为云企业级Redis揭秘第17期:集群搭载多DB,多租隔离更降本
摘要:GaussDB(for Redis)支持真正可扩展的多DB,轻松实现降本增效。
本文分享自华为云社区《华为云企业级Redis揭秘第17期:集群搭载多DB,多租隔离更降本》,作者: GaussDB 数据库 。
背景:GaussDB(for Redis)是华为云数据库团队推出的企业级Redis,完全兼容开源Redis,既能显著降低成本,又能提供更稳定可靠的KV存储服务。
一、一切要从某个深夜的需求说起
某天深夜,作为后端小能手的小强强刚准备收工,老板打来电话:“小强强,咱们Redis用的也太杂了,好几十套,啥规格都有!这里面肯定有不少资源浪费!你负责搞个降本增效专项吧,把Redis使用成本降下来,也让运维同学轻松点。”
别看我们小伙子年轻,实则经验老道。小强强拍着胸脯接下需求,大致有了思路(如图):
图1 Redis资源整合+降成本+轻松运维
“搞定这件事的核心办法就是‘一Redis多用’!”,小强强立刻想到2个方案:
方案1:让业务同学给key加前缀。该方案看似搞定了需求,但隔离性差,大量key前缀占空间,业务改造也很麻烦,因此它并不是优选。
方案2:使用Redis的多DB。业务通过select命令访问专属DB,flushdb命令又能一键清数据,隔离效果不错,按理说还是很方便的。
二、开源Redis的多DB是鸡肋
但是,作为经验十足的后端开发,小强强提前识别到了方案2的严重隐患:
- 开源Redis的“多DB”只能用于单机,不支持集群,搞不定后期扩容。
- 而单机Redis扩容到64G已经是极限,更不用说fork导致的容量利用率只有50%。
也就是说,随着后期业务增长,多个业务挤在一套容量只有64G的开源Redis中,意味着当内存不足时,必须得有业务迁出!
图2 开源Redis多DB无法扩展,后期只能重新拆分
这不就回到了最初的问题原点吗?开源Redis的多DB方案明显不符合资深后端的身份,对此,小强强坚决say no!
好吧,开源Redis的多DB,看来你是真的帮不上忙!
三、当多DB遇上GaussDB(for Redis)
前面提到,“多DB”是小强强此刻最需要的功能,但开源Redis多DB却有着后期无法扩容的严重隐患。为了解决问题,小强强找到了真正解决该痛点的产品:GaussDB(for Redis)。
在多DB的使用上,GaussDB(for Redis)与开源Redis用法完全一致,实现了同一实例下的数据隔离。GaussDB(for Redis)的多DB核心价值在于:
- 吞吐可水平扩展至百万QPS,容量支持12TB,解决了扩展性问题;
- 相比开源Redis,成本可降20%~70%;
- 单实例支持6w+DB数,搞定大规模业务多租隔离。
基于GaussDB(for Redis)多DB功能,业务多租户可以放心共用一套GaussDB(for Redis),不但轻松实现降本,而且能完美cover住后期业务增长。
图3 GaussDB(for Redis)多DB实现业务多租隔离
终于搞定一个靠谱方案!小强强可以放心地交差了。最后,再一次为好用的产品打call:
GaussDB(for Redis)支持真正可扩展的多DB,轻松降本,简直yyds!
四、附录
- 本文作者:华为云数据库GaussDB(for Redis)团队
- 杭州/西安/深圳简历投递:yuwenlong4@huawei.com
- 官方博客:https://bbs.huaweicloud.com/blogs/248875
华为云开年采购季盛大开幕!点击了解详情:https://activity.huaweicloud.com/dbs_Promotion/index.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
MeterSphere在开源压测工具JMeter上的分布式优化和实践
Apache JMeter是一款100%纯Java的开源软件,旨在加载测试功能行为和测量性能。它可以用来测试静态和动态资源的性能,例如静态文件、Java Servlet、CGI Scripts、Java Object、数据库和FTP服务器等。JMeter可以用于模拟大量负载来测试一台服务器、网络或者对象的健壮性或者分析不同负载下的整体性能。相比于其他的性能测试软件,JMeter具备以下优势: ■开源:JMeter是一款开源的免费软件,支持多种协议的接口和性能测试; ■轻量级:JMeter的软件包小巧轻量,只需要在JDK环境下就可以运行,无需其他额外的部署安装(单机版); ■功能强大:JMeter设计之初只是一个简单的Web性能测试工具,但经过不断地更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。基于JMeter自身的开源性,用户可以根据自己的需求扩展其功能。 JMeter分布式性能压测方案的局限性 近几年,随着互联网+、在线电商等在线化业务的发展,性能测试也逐渐成为企业高频测试的类型之一。JMeter作为运用最为广泛的开源性能压测工具,已经被很多企业运...
-
下一篇
TypeScript里string和String,真不是仅仅是大小写的区别
摘要:通常来说,string表示原生类型,而String表示对象。 本文分享自华为云社区《TypeScript里string和String的区别》,作者:gentle_zhou 。 背景 与JavaScript语言不同的是,TypeScript使用的是静态类型,比如说它指定了变量可以保存的数据类型。如下图所示,如果在JS中,指定变量可以保存的数据类型,会报错:“类型注释只可以在TS文件中被使用”: TypeScript是JavaScript的超集(superset),TypeScript需要编译(语法转换)生成JavaScript才能被浏览器执行,它也区分了string和String这两个数据类型。通常来说,string表示原生类型,而String表示对象。 原生string JavaScript在ES6标准里支持6种原生类型(number),string是其中之一。 原生的string是不包含属性的值(即没有properties),包括字面上没有定义类型、字面上定义了string、字面上定义了String和一些从string函数调用返回的strings也都可以被归为原生类型: 以上三...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL数据库在高并发下的优化方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Dcoker安装(在线仓库),最新的服务器搭配容器使用