云服务器内容精选

  • 业务痛点 金智教育有很多核心业务系统,其中大量使用了Redis。近年来随着业务量持续增长,其原先采用的自建开源Redis在使用上遇到几个明显的痛点: 开源Redis主备倒换引起“丢Key”,只能人工补数据 由于开源Redis主备采用的是异步复制,一旦发生故障倒换,将会丢失大量数据。 在金智教育业务中,APP登录验证会使用Redis存储Token,一旦主从切换,会导致大量用户重复验证登录,这也是开源Redis常见的问题。 此外,在学生报表业务中,数据的完整性非常重要。一旦发生数据丢失,系统中有一部分学生的信息将无法查看,此时不得不通过人工来补录数据,非常耗时。 开源Redis分片经常“被流控”,影响业务 业务访问模型往往会存在一些热点,开源Redis集群虽然整体带宽高,但由于每个分片带宽小,因此经常触发分片流控,导致业务受损。 在金智教育的业务中,流控触发就意味着业务受损,因此非常需要一款不流控的Redis服务。 数据持续增长,开源Redis升级配置费用高,且影响业务 在海量数据处理的场景下,需要Redis长期保存数据。开源Redis扩容操作意味着加分片,耗时久而且影响业务。 此外,随着数据增长,开源Redis的使用成本也会随之增加,会给公司带来较高的成本开销,因此金智教育急需要一款成本可控的KV数据库。
  • 云数据库 GeminiDB Redis解决方案 云数据 GeminiDB Redis的设计目的,就是为了解决开源Redis的痛点问题,有效实现降本增效。近年来,GeminiDB Redis产品团队基于开源生态额外做了诸多的特性增强,例如:解决了fork问题使性能更平滑、支持自动无感扩容(秒级完成)、指定时间点原地PITR回档、跨Region容灾等等。 针对金智教育在Redis使用中遇到的几大核心痛点,GeminiDB Redis接口提供了完善的配套解决方法: 数据可靠性显著提升 试想在10000 QPS的写入流量下,开源Redis即使配置秒粒度的AOF下刷(影响性能,往往不适合在线上环境开启),主备倒换也会引起10000条业务数据的丢失,损失很大。因此,开源Redis的“丢数据”是先天的痛点,并不适合用在数据重要的业务场景下。 GeminiDB Redis存储数据的可靠性非常高,用户数据在GeminiDB Redis默认存储3个副本,成本上仅按1个副本计费,不会带来额外费用。计算节点使用预写日志WAL实现了命令级的可靠存储,即使分片发生故障倒换,由于有存储池保障全量数据的可靠性,也能保障业务数据的完整和安全。 切换到GeminiDB Redis后,金智教育线上业务的稳定性得到了大幅度提升,而不再需要消耗人工精力去补数据了。 采用独享容器部署,分片带宽充足,不担心流控 开源Redis的部署往往是多租户共用一个容器,因此不得不做流控,否则会发生租户间相互干扰的情况。分片的流控会时常发生,这会产生“木桶效应”,只有采用独立容器部署Redis才能解决。 GeminiDB Redis的每个分片都采用独立容器,带宽不做额外限流,分片(独立容器)带宽全部提供给业务程序使用,即使业务访问存在一定倾斜,也不担心被某个分片流控。 支持自动扩容,且对业务零干扰;强数据压缩比,存数据成本节约30%+ GeminiDB Redis的扩容体验在行业里是领先的,目前已经支持全自动扩容,无需人工干预,且扩容平滑无感,秒级完成。对业务来说,连接不会被中断,也不会引起时延抖动,随着业务增长,扩容可以放心交给服务端自动化完成。 此外,金智教育在迁移数据时,发现100GB的数据迁入到GeminiDB Redis只占用了不到50GB的空间,从长远来看存储成本非常有优势。这是由于GeminiDB Redis通过高效压缩技术对数据进行了逻辑+物理块压缩,能够有效降低存储开销。