开发者社区> 身行> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

为什么说中小公司自建Redis是一件不太靠谱的事情?

简介: 自建Redis有哪些缺点?
+关注继续查看

上段时间,和数据库领域的一些朋友交流,他告诉云栖社区,XX厂商自建Redis出问题了,并表示最近不少自建Redis的中小公司也都陆续出问题。

对于为什么会出现这样现象,云栖社区记者就此采访了阿里云数据库高级技术专家子嘉,他谈了问题的根源——自建Redis的缺点:

  1. 可靠性低:如果数据走云盘做高可靠存储容易受网络波动干扰,如果不走云盘宕机数据易丢失,自建多副本运维很复杂,而且Redis本身的断网导致的全量同步机制对网络和运维的要求极高;
  2. 可用性低:自建单副本无法保证可用性,多副本对心跳检查和链路切换要求极高,传统的sentinel有很多缺陷,在执行复杂的keys flushdb等命令时很容易造成误切和雪崩;
  3. 诸多限制:自建集群方案如redis cluster,codis也有诸多限制,redis cluster需要smart client和非常专业的运维能力,codis的zk部署也相对比较重,而且为了容灾也要去做副本的HA,而目前的HA和上述sentinel有同样的问题;
  4. 安全性:自建Redis容易受到安全攻击,比如config set漏洞问题,lua安全漏洞等问题,当出现故障时也无法得到有效地救援和解决;
  5. 产品本身:从产品上,自建Redis无法实现弹性扩缩容,或者过程非常复杂,并且在扩缩容的过程中也非常容易出问题。

子嘉指出,而最根本的问题是如果要达到上述的可靠性、可用性与安全性,客户需要在看得见的成本之外付出更多的运维成本,而且还需要组建一直完备的技术团队。

他认为,对可靠性、可用性、安全性、资源弹性有诉求的产品,选用云Redis则是不二选择,尤其是阿里云Redis,因为它有以下优点:

  1. 云Redis采用两副本+备份的方式保证数据可靠性,本地SSD磁盘保证稳定性和性能,还有一整套的运维体系,针对原生Redis的缺点在内核上做了很多改进;
  2. 云Redis通过优化内核+自主研发HA来解决复杂命令超时问题,保证不会误切换,而且当主节点有故障发生时,会有秒级链路切换,最大保证可用性;
  3. 云Redis自主研发的集群模式兼容所有版本开源客户端,对client没有要求,接入方式和主从版一样,支持的命令也要比上述两个版本多,对于大家比较关心的成本问题,阿里云Redis也在推出小内存大QPS来解决
  4. 云Redis自主研发版本经过阿里内部安全渗透测试,而且在出问题时也会有一直专业的内核团队7*24及时救援和服务

在问题之外,子嘉也提到,因稳定、收缩强,阿里云云数据库Redis(Kvstore)版还曾获得央视技术保障商点赞,并特意发了一封感谢信过来,称赞阿里云Redis很强的伸缩能力和服务(相关报道见:因稳定、收缩强 阿里云云数据库Redis(Kvstore)版获央视技术保障商点赞)。

作为阿里云云数据库Redis技术负责人,他除了希望大家都能试试阿里云Redis的服务之外(阿里云Redis官网),也欢迎厂商或个人一起探讨Redis领域的技术难题。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Redis持久化 - RDB和AOF
1. 什么是持久化 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。 持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。
19 0
【Redis高手修炼之路】Redis的持久化——ROB和AOF持久化机制
【Redis高手修炼之路】Redis的持久化——ROB和AOF持久化机制
35 0
【玩转Redis面试第3讲】一次性将Redis RDB持久化和AOF持久化讲透
【玩转Redis面试第3讲】一次性将Redis RDB持久化和AOF持久化讲透
21 0
【Redis基础】一起读懂Redis持久化机制(RDB+AOF 图文详解)
案例详解Redis持久化机制!一起打卡学习吧!
24 0
Redis事务&Redis存放二进制对象&Redis持久化
Redis事务&Redis存放二进制对象&Redis持久化
117 0
面试:简明的图解Redis RDB持久化、AOF持久化
持久化(Persistence),持久化是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
50 0
Redis 中的持久化技术《Redis设计与实现》
本篇将介绍 Redis 中的持久化技术,主要有两种: RDB持久化 和 AOF持久化
21 0
面试:简明的图解Redis RDB持久化、AOF持久化(续集)
AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态
46 0
小伙用 12 张图讲明白了 Redis 持久化!(下)
小伙用 12 张图讲明白了 Redis 持久化!
26 0
+关注
身行
专注内容敏感度和深度,提高品牌价值和影响力。
100
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载