Redis企業(yè)云如何通過緩存輕松擴展到億級請求?

你是否在春運搶票過程中遇到12306 APP癱瘓?
你是否在雙十一搶好物的時候顯示系統(tǒng)繁忙?
你是否在微博刷某個爆了的娛樂新聞時顯示頁面走丟了?
前幾天熱搜上好像又說小紅書又崩潰了?
當(dāng)用戶請求量過高,數(shù)據(jù)庫無法支撐時,應(yīng)用程序或軟件就會從客戶的界面“出逃”。出逃的結(jié)果是:用戶丟失,對產(chǎn)品的技術(shù)能力產(chǎn)生不信任感。
如何擴展請求扼殺應(yīng)用程序或軟件界面的“出逃計劃”?最好的方法是緩存!

印度科技公司Freshworks的數(shù)據(jù)庫負(fù)載問題
對于任何一家企業(yè)而言,優(yōu)質(zhì)的服務(wù)才是客戶成功的業(yè)務(wù)關(guān)鍵。
作為一家超過100億美元估值的印度科技公司,F(xiàn)reshworks讓“客戶成功”變得簡單!
自2010年成立以來,F(xiàn)reshworks已成為客戶服務(wù)平臺的領(lǐng)導(dǎo)者,其基于云的商業(yè)軟件套件被全球超過150000家組織使用,包括松下、惠普、紐約大學(xué)和美國運通等。
在過去的10多年時間里,F(xiàn)reshworks的年增長率超過了50%,年度總收入早已超過了1億美元。隨著七款新產(chǎn)品的上市,這種非同凡響的增長速度正在使Freshwork的應(yīng)用程序架構(gòu)和開發(fā)運營能力變得緊張起來!
隨著公司數(shù)據(jù)庫負(fù)載的增長,其在性能擴展方面遇到了麻煩:Freshworks需要減輕其主數(shù)據(jù)庫MySQL的負(fù)擔(dān),但當(dāng)前的緩存解決方案(由Amazon ElastiCache提供的開源Redis)卻產(chǎn)生了很多問題。
Freshworks的工程師Abhishek Dhulipudi表示:ElastiCach不支持實時遷移,如果我們想將數(shù)據(jù)從一個實例遷移到另一個實例,則需要數(shù)周的人工操作以避免停機,這種限制會減慢我們的產(chǎn)品開發(fā)生命周期。
?
Freshworks選擇Redis企業(yè)云緩存解決方案
?在評估了Aerospike和Hazelcast等多個NoSQL內(nèi)存數(shù)據(jù)庫后,F(xiàn)reshworks決定繼續(xù)使用具有極高性能和靈活性的Redis。最終,該公司選擇了Redis企業(yè)云(Redis Enterprise Cloud)來替換性能不佳的Amazon ElastiCache緩存解決方案。
?Redis企業(yè)云(Redis Enterprise Cloud):唯一的實時多云數(shù)據(jù)層,完全托管的無服務(wù)器云數(shù)據(jù)庫服務(wù)
?【功能】
將Redis用作一體化數(shù)據(jù)庫和緩存數(shù)據(jù)庫
存儲和搜索具有復(fù)雜關(guān)系的JSON文檔
啟用實時分析、流式傳輸和微服務(wù)將
獲得即時故障轉(zhuǎn)移和備份恢復(fù)
同時寫入多個地理位置分布式主數(shù)據(jù)庫
安全且經(jīng)濟高效地存儲TB級數(shù)據(jù)
?【優(yōu)勢】
靈活部署:部署在任何云、混合或多云架構(gòu)上
內(nèi)置耐用性:主分片和副本分片上多個持久性選項
大規(guī)模性能:小于1ms的數(shù)據(jù)庫響應(yīng)時間,每秒支持?jǐn)?shù)百萬次操作
低延遲:基于CRDT的 Active-Active 部署維護(hù)亞毫秒級數(shù)據(jù)
成本效益:使用Redis on Flash節(jié)省高達(dá) 70% 的基礎(chǔ)架構(gòu)成本
?Freshworks的工程總監(jiān) Naren Janakiraman 說:Redis企業(yè)云提供了非常好的服務(wù),我們可以使用市場上最高的內(nèi)存性能和靈活的數(shù)據(jù)結(jié)構(gòu)以在各種用例中實現(xiàn)極高的效率,這種完全托管的操作還可以加快應(yīng)用程序交付。
?除了使用 Redis企業(yè)版數(shù)據(jù)庫(Redis Enterprise)作為其MySQL數(shù)據(jù)庫的前端緩存之外,F(xiàn)reshworks還將Redis Enterprise用于如下幾個方面:
計量:出于限速目的,F(xiàn)reshworks 使用 Redis Enterprise Cloud 高度優(yōu)化的Hash、List和 Sorted Sets 數(shù)據(jù)結(jié)構(gòu)和內(nèi)置命令來計量進(jìn)入Freshdesk的API請求。
數(shù)據(jù)持久存儲:Freshworks使用Redis Enterprise Cloud作為后臺作業(yè)的持久存儲,存儲在磁盤中。
身份驗證微服務(wù)-會話存儲:隨著Freshworks過渡到微服務(wù),它開始將關(guān)鍵工作負(fù)載從其單一的Ruby on Rails Web應(yīng)用程序框架中分離出來,身份驗證則是首批微服務(wù)之一。身份驗證微服務(wù)可以使用Redis Enterprise Cloud作為會話存儲。
實時分析:Freshworks利用Redis Enterprise Cloud的強大數(shù)據(jù)結(jié)構(gòu)(包括HyperLogLog、位圖和集合)作為用戶分析的前端數(shù)據(jù)庫。
Freshworks的工程師 Dhulipudi表示:進(jìn)入Freshdesk的每個請求都會以某種方式觸及Redis Enterprise Cloud,通過將幾個關(guān)鍵數(shù)據(jù)庫功能卸載到Redis Enterprise Cloud,我們能夠減少 MySQL數(shù)據(jù)庫實例的數(shù)量,同時顯著提高應(yīng)用程序響應(yīng)時間和擴展能力。

Redis Enterprise幫助Freshworks的業(yè)務(wù)軟件保持高水平性能
作為一個完全托管的數(shù)據(jù)庫即服務(wù)產(chǎn)品,Redis企業(yè)云的操作非常簡單,其自動擴展、故障轉(zhuǎn)移、集群創(chuàng)建、持久性和高可用性是也成為了Freshworks軟件產(chǎn)品的巨大賣點。
Janakiraman說:?Freshworks有67項服務(wù)都在使用Redis Enterprise Cloud。如果沒有它的無縫功能和自動化功能,我們將會在基礎(chǔ)設(shè)施和運營管理上投入非常多的資金。Redis Enterprise Cloud的Redis on flash技術(shù)將常用的數(shù)據(jù)放到內(nèi)存,不常用的數(shù)據(jù)放到SSD(固態(tài)硬盤),這樣既可以提高處理速度,又可以節(jié)約成本,不僅幫助我們的團(tuán)隊專注于創(chuàng)新和業(yè)務(wù)增長,還擴展了我們的產(chǎn)品組合并將業(yè)務(wù)服務(wù)發(fā)展到新的地區(qū)。
?Freshworks非??春肦edis Enterprise的技術(shù)能力,它認(rèn)為 Redis Enterprise Cloud的作用正在擴大,在未來能夠承擔(dān)更大的工作負(fù)載。Dhulipudi說:借助Redis企業(yè)云,我們將實施更多創(chuàng)造性的緩存、持久數(shù)據(jù)存儲、微服務(wù)和用戶分析用例,使我們的業(yè)務(wù)軟件在行業(yè)內(nèi)保持最高水平的性能。
想要了解更多Redis企業(yè)版數(shù)據(jù)庫緩存解決方案,歡迎評論交流!?