一、Codis到底有多火?

说Codis是国内最风行的自建Redis集群计划,一点也不为过。客户曾这样说:

“Codis你不晓得吗?咱们公司用了好多年了,好货色呀。”

确实,相比去中心化架构的开源Redis Cluster,Codis这种proxy代理集群显然更“好用”,甚至就连RedisLabs官网都推出了性能相似的redis-cluster-proxy来补救传统Cluster毛病。

然而其实从N年前开始,Codis社区就没有人保护了,咱们的客户项目经理海鹏老师也常常要帮忙客户把自建Codis搬迁到云上的GaussDB(for Redis)。

Codis确实很优良,不过咱们能够负责任地说:

华为云KV数据库GaussDB(for Redis)更优良!

二、GaussDB(for Redis) vs Codis:架构比拼

首先,咱们从技术架构角度来看看两款产品到底哪里不同。

如图,架构上的差别高深莫测,咱们能够自顶向下剖析:

1.非标SDK vs 规范SDK

私有云用户广泛厌恶“搞非凡”,然而Codis偏要搞非凡。Codis绑架用户必须应用非标Jodis SDK来解决代理层单点故障问题。但如果用户偏要应用规范SDK(如赫赫有名的Jedis)呢?Codis示意:对不起,跟高可用说拜拜吧。

相同,GaussDB(for Redis)在应用上则很敌对,业务侧应用任何规范SDK都行,同时高可用、主动负载平衡能力也全都在。上云搬迁时,GaussDB(for Redis)兼容方面做得也很成熟,不管客户原来代码用的是StandAlone,还是Cluster、Sentinel等模式,都能够0革新上云,真正做到开箱即用,体验感极佳。

2.无负载平衡vs 业余的ELB

Codis的代理层尽管提供了横向扩大能力,但并不好用:要么就义高可用来应用规范SDK连贯单点;要么应用JodisSDK,但代价是业务走向非标化。

而GaussDB(for Redis)提供ELB,不便用户对立接入,在简化客户端复杂度的同时,还带来了业余的负载平衡能力。有了这个对立接入IP,用户相当于本人在应用一个超大容量的单机Redis,而无需操心底层细节。

3.存算耦合vs 存算拆散

能够认为,Codis是在多套Redis分片上做了一层封装,架构模型是传统的存算耦合。在大key、数据一致性、分片故障、扩缩容等典型场景中,都连续了开源Redis的长期“痛点”。

GaussDB(for Redis)采纳存算拆散架构,计算层聚焦数据业务,存储层基于高性能分布式共享存储池,确保数据三正本存储强统一,超高牢靠。同时大幅节俭硬件老本,帮业务减负。

三、GaussDB(for Redis) vs Codis:个性比拼

从前文的架构维度比照能够看出,GaussDB(for Redis)上有ELB让业务侧“更好用”,下有存储池让数据“更牢靠”,比自建Codis集群优良了太多。

上面再从个性维度聊聊,GaussDB(for Redis)还能给业务侧带来哪些价值。

1.兼容性

GaussDB(for Redis)齐全兼容Redis协定,同时兼容StandAlone/Cluster/Sentinel等多种SDK模式,不便业务搬迁上云。而Codis的兼容性则显得很差。

2.稳定性

自建Codis集群稳定性强依赖开源Redis能力,不论是扩容还是大key场景,都有雷同痛点,在此不再赘述。

GaussDB(for Redis)自研架构齐全解决了开源Redis的fork问题,稳定性大幅晋升;同时,在与分布式存储池架构的深度单干下,数据的可靠性也全面优于Codis。

3.老本

Codis仍然是传统纯内存Redis的封装,业务存不了多少就会涉及老本痛点。随着业务长期倒退,逐步也会有数据降冷(如APP的冷用户),此时Codis里真正有价值的热数据占比越来越低,全量数据在内存中老本会相当高。

GaussDB(for Redis)的算力则按需选配,存储价格低,非常适合大容量KV存储场景。

四、总结

Codis是很多开发和运维同学已经青眼的产品,是时代的记忆,然而,技术在疾速倒退。在这里,倡议应用了Codis的业务能够思考应用GaussDB(for Redis),感触华为云这款企业级KV数据库的全新价值。

828-B2B企业节炽热进行中!轻松应答高并发拜访,为企业发明更多价值。
想理解更多华为云产品相干信息,请分割咱们,电话:950808按0转1