一、公司簡介
江蘇金智教育成立于 2008 年,是國內領先的高等教育信息化服務提供商。公司專注于推動云技術與高等教育的深度融合,通過自主研發(fā)為客戶提供教學、科研、管理、生活服務等領域的軟件產品和服務,幫助高校以數字化、智能化驅動人才培養(yǎng)和校務治理模式的變革。
憑借全面的產品解決方案和優(yōu)質服務,金智教育已經累計助力 1000 余所高等院校和中職學校實現數字化轉型和業(yè)務創(chuàng)新,成為高校信息化領域的領航者。
二、業(yè)務背景
金智教育有很多核心業(yè)務系統(tǒng),其中大量使用了 Redis。近年來隨著業(yè)務量持續(xù)增長,其原先采用的自建開源 Redis 在使用上遇到幾個明顯的痛點。
1)開源 Redis 主備倒換引起“丟 Key”,只能人工補數據
由于開源 Redis 主備采用的是異步復制,一旦發(fā)生故障倒換,將會丟失大量數據。
在金智教育業(yè)務中,APP 登錄驗證會使用 Redis 存儲 token,一旦主從切換,會導致大量用戶重復驗證登錄。這也是 Redis 常見的問題。
此外,在學生報表業(yè)務中,數據的完整性非常重要。一旦發(fā)生數據丟失,全國的老師都會發(fā)現系統(tǒng)中有一部分學生的信息無法查看,此時不得不通過人工來補救數據,非常耗時。
2)開源 Redis 分片經常“被流控”,影響業(yè)務
業(yè)務訪問模型往往會存在一些熱點,開源 Redis 集群雖然整體帶寬高,但由于每個分片帶寬小,因此經常觸發(fā)分片流控,導致業(yè)務受損。
在金智教育的業(yè)務中,流控觸發(fā)就意味著業(yè)務受損,因此非常需要一款“不流控”的 Redis 服務。
3)數據持續(xù)增長,開源 Redis 升配“太貴”,且影響業(yè)務
在海量數據處理的場景下,需要 Redis 長期保存數據。開源 Redis 擴容操作意味著加分片,耗時久而且影響業(yè)務。擴容只能靠 DBA 熬夜支撐,效率低下。
此外,隨著數據增長,開源 Redis 的使用成本也會一次次“翻倍”,例如從 32GB 擴容到 64GB,會給公司帶來較高的成本開銷,金智教育也急需要一款成本可控的 KV 數據庫。
解決方案
華為云 GaussDB(for Redis)的設計目的,就是為了解決 Redis 的痛點問題,有效實現降本和增效。兼容性方面,它不但 100%兼容 Redis5.0,而且支持主備和集群全生態(tài)架構,業(yè)務可以無縫平遷。近年來,GaussDB(for Redis)產品團隊基于開源生態(tài)額外做了諸多的特性增強,例如:解決了 fork 問題使性能更平滑,支持自動無感擴容(秒級完成),指定時間點原地 PITR 回檔、跨 Region 容災等等。
針對金智教育在 Redis 使用中遇到的幾大核心痛點,GaussDB(for Redis)提供了完善的配套解法:
1)數據可靠性顯著提升,不擔心總丟 key,也不再需要人工“補數據”
試想在 10000 QPS 的寫入流量下,開源 Redis 即使配置秒粒度的 AOF 下刷(影響性能,往往不適合在線上環(huán)境開啟),主備倒換也會引起 10000 條業(yè)務數據的丟失,損失很大。因此,開源 Redis 的“丟數據”是先天的痛點,并不適合用在數據重要的業(yè)務場景下。
GaussDB(for Redis)存儲數據的可靠性非常高,用戶數據在 GaussDB(for Redis)默認存儲 3 個副本,成本上僅按 1 個副本計費,不會帶來額外費用。計算節(jié)點使用預寫日志 WAL 實現了命令級的可靠存儲,即使分片發(fā)生故障倒換,由于有存儲池保障全量數據的可靠性,也能保障業(yè)務數據的安全。
切換到 GaussDB(for Redis)后,金智教育線上業(yè)務的穩(wěn)定性得到了大幅度提升,而不再需要消耗人工精力去“補數據”了。
2)采用獨享容器部署,分片帶寬充足,不擔心流控
開源 Redis 的部署往往是多租戶共用一個容器,因此不得不做流控,否則會發(fā)生租戶間相互干擾的情況。分片的流控是常發(fā)生的現象,這會產生“木桶效應”,只有采用獨立容器部署 Redis 才能解決。
GaussDB(for Redis)的每個分片都采用獨立容器,帶寬不做額外限流,分片(獨立容器)帶寬全部提供給業(yè)務程序使用,即使業(yè)務訪問存在一定傾斜,也不擔心被某個分片流控。
3)支持自動擴容,且對業(yè)務零干擾;強數據壓縮比,存數據成本節(jié)約 30%+
GaussDB(for Redis)的擴容體驗在行業(yè)里是領先的,目前已經支持全自動擴容,無需人工干預,且擴容平滑無感,秒級完成。對業(yè)務來說,連接不會被中斷,也不會引起時延抖動,隨著業(yè)務增長,擴容可以放心交給服務端自動化完成。
此外,金智教育在遷移數據時,發(fā)現 100GB 的數據遷入到 GaussDB(for Redis)只占用了不到 50GB 的空間,從長遠來看存儲成本非常有優(yōu)勢。這是由于 GaussDB(for Redis)通過高效壓縮技術對數據進行了邏輯+物理塊壓縮,能夠有效降低存儲開銷。
四、總結
目前,金智教育的核心線上業(yè)務已經在華為云數據庫 GaussDB(for Redis)上平穩(wěn)運行近一年,從日常綜合表現來看,業(yè)務的平均時延在 1ms 以內,p99 時延一般在 2ms 內,并且性能穩(wěn)定,同時運維和開發(fā)效率也得到了大幅度提升。
后續(xù)華為云數據庫還會繼續(xù)和金智教育密切合作,在 KV 數據庫業(yè)務方向深挖更多服務化能力,提升客戶運維和開發(fā)體驗。
審核編輯 黃宇
-
數字化
+關注
關注
8文章
8610瀏覽量
61640 -
Redis
+關注
關注
0文章
371瀏覽量
10846
發(fā)布評論請先 登錄
相關推薦
評論