电子说
一、公司简介
江苏金智教育成立于 2008 年,是国内领先的高等教育信息化服务提供商。公司专注于推动云技术与高等教育的深度融合,通过自主研发为客户提供教学、科研、管理、生活服务等领域的软件产品和服务,帮助高校以数字化、智能化驱动人才培养和校务治理模式的变革。
凭借全面的产品解决方案和优质服务,金智教育已经累计助力 1000 余所高等院校和中职学校实现数字化转型和业务创新,成为高校信息化领域的领航者。
二、业务背景
金智教育有很多核心业务系统,其中大量使用了 Redis。近年来随着业务量持续增长,其原先采用的自建开源 Redis 在使用上遇到几个明显的痛点。
1)开源 Redis 主备倒换引起“丢 Key”,只能人工补数据
由于开源 Redis 主备采用的是异步复制,一旦发生故障倒换,将会丢失大量数据。
在金智教育业务中,APP 登录验证会使用 Redis 存储 token,一旦主从切换,会导致大量用户重复验证登录。这也是 Redis 常见的问题。
此外,在学生报表业务中,数据的完整性非常重要。一旦发生数据丢失,全国的老师都会发现系统中有一部分学生的信息无法查看,此时不得不通过人工来补救数据,非常耗时。
2)开源 Redis 分片经常“被流控”,影响业务
业务访问模型往往会存在一些热点,开源 Redis 集群虽然整体带宽高,但由于每个分片带宽小,因此经常触发分片流控,导致业务受损。
在金智教育的业务中,流控触发就意味着业务受损,因此非常需要一款“不流控”的 Redis 服务。
3)数据持续增长,开源 Redis 升配“太贵”,且影响业务
在海量数据处理的场景下,需要 Redis 长期保存数据。开源 Redis 扩容操作意味着加分片,耗时久而且影响业务。扩容只能靠 DBA 熬夜支撑,效率低下。
此外,随着数据增长,开源 Redis 的使用成本也会一次次“翻倍”,例如从 32GB 扩容到 64GB,会给公司带来较高的成本开销,金智教育也急需要一款成本可控的 KV 数据库。
三、华为云 GaussDB(for Redis)
解决方案
华为云 GaussDB(for Redis)的设计目的,就是为了解决 Redis 的痛点问题,有效实现降本和增效。兼容性方面,它不但 100%兼容 Redis5.0,而且支持主备和集群全生态架构,业务可以无缝平迁。近年来,GaussDB(for Redis)产品团队基于开源生态额外做了诸多的特性增强,例如:解决了 fork 问题使性能更平滑,支持自动无感扩容(秒级完成),指定时间点原地 PITR 回档、跨 Region 容灾等等。
针对金智教育在 Redis 使用中遇到的几大核心痛点,GaussDB(for Redis)提供了完善的配套解法:
1)数据可靠性显著提升,不担心总丢 key,也不再需要人工“补数据”
试想在 10000 QPS 的写入流量下,开源 Redis 即使配置秒粒度的 AOF 下刷(影响性能,往往不适合在线上环境开启),主备倒换也会引起 10000 条业务数据的丢失,损失很大。因此,开源 Redis 的“丢数据”是先天的痛点,并不适合用在数据重要的业务场景下。
GaussDB(for Redis)存储数据的可靠性非常高,用户数据在 GaussDB(for Redis)默认存储 3 个副本,成本上仅按 1 个副本计费,不会带来额外费用。计算节点使用预写日志 WAL 实现了命令级的可靠存储,即使分片发生故障倒换,由于有存储池保障全量数据的可靠性,也能保障业务数据的安全。
切换到 GaussDB(for Redis)后,金智教育线上业务的稳定性得到了大幅度提升,而不再需要消耗人工精力去“补数据”了。
2)采用独享容器部署,分片带宽充足,不担心流控
开源 Redis 的部署往往是多租户共用一个容器,因此不得不做流控,否则会发生租户间相互干扰的情况。分片的流控是常发生的现象,这会产生“木桶效应”,只有采用独立容器部署 Redis 才能解决。
GaussDB(for Redis)的每个分片都采用独立容器,带宽不做额外限流,分片(独立容器)带宽全部提供给业务程序使用,即使业务访问存在一定倾斜,也不担心被某个分片流控。
3)支持自动扩容,且对业务零干扰;强数据压缩比,存数据成本节约 30%+
GaussDB(for Redis)的扩容体验在行业里是领先的,目前已经支持全自动扩容,无需人工干预,且扩容平滑无感,秒级完成。对业务来说,连接不会被中断,也不会引起时延抖动,随着业务增长,扩容可以放心交给服务端自动化完成。
此外,金智教育在迁移数据时,发现 100GB 的数据迁入到 GaussDB(for Redis)只占用了不到 50GB 的空间,从长远来看存储成本非常有优势。这是由于 GaussDB(for Redis)通过高效压缩技术对数据进行了逻辑+物理块压缩,能够有效降低存储开销。
四、总结
目前,金智教育的核心线上业务已经在华为云数据库 GaussDB(for Redis)上平稳运行近一年,从日常综合表现来看,业务的平均时延在 1ms 以内,p99 时延一般在 2ms 内,并且性能稳定,同时运维和开发效率也得到了大幅度提升。
后续华为云数据库还会继续和金智教育密切合作,在 KV 数据库业务方向深挖更多服务化能力,提升客户运维和开发体验。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !