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