亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis單數據多源超高并發下的解決方法

發布時間:2020-09-29 16:16:38 來源:億速云 閱讀:237 作者:小新 欄目:編程語言

這篇文章主要介紹了Redis單數據多源超高并發下的解決方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

Redis 主要解決兩個問題:

Redis單數據多源超高并發下的解決方法

當遇到日活千萬,同時百萬在線的業務場景時,前端訪問直接加載到后臺數據庫的話,可能順間壓垮底層數據庫,導致業務停擺。又或者隨著查詢條件變多,結合條件復雜化,查詢結果的響應時間也無法得到保證,導致用戶體驗下降,用戶流失。為了解決高并發,低延遲的業務場景, Redis 應運而生。

下面我們來看兩個場景

Redis單數據多源超高并發下的解決方法

這是一個線上找房的業務場景,超多的查詢條件導致后臺必然是一個復雜的查詢 SQL,這種場景下是否必須使用 Redis 呢?

答案是否定的,由于線上找房業務并發量低,客戶對于業務響應時間要求也沒有那么苛刻,大部分的請求可以直接通過動態 SQL 臨時查詢。當然為了提升用戶體驗,可以將一些熱點的查詢結果預緩存到 Redis 里提升用戶體驗。

我們再來看下這個場景

Redis單數據多源超高并發下的解決方法

視頻應用的查片系統,跟找房系統幾乎是一模一樣的業務場景,但是并發量要高幾個數量級,這個場景就非常適合使用 Redis 作為緩存提升并發訪問量,降低響應時間,滿足幾十萬甚至上百萬的并發訪問需求。由此可見決定是否使用 Redis 的根本要素就是并發量和延遲要求。

下面我們來看一下 Redis 是如何解決互聯網極端場景下的并發訪問需求的。

超高并發訪問下的緩存解決方案

Redis單數據多源超高并發下的解決方法

這是一個典型的媒體類緩存架構圖,發文系統不定期更新媒體庫,通過分布式緩存服務將各個最新文章同步到 Redis 緩存,前端應用通過路由層找到相應的數據源訪問。各個緩存服務數據不同步。當發生熱點事件時,路由層可能將不通地區的訪問路由到熱點數據所在的緩存服務器,帶來瞬間的流量暴漲,極端情況下可能導致服務器宕機,業務受損。那么這種不定期突發流量的場景要如何解決呢?

這里有幾個思路:

Redis單數據多源超高并發下的解決方法

將熱點 Key 加前綴打散,實現熱數據復制

路由層追加本地緩存,通過多級緩存提升緩存能力

緩存層提供數據副本,提高并發訪問能力

第一種方案,可以有效打散熱數據,但是熱點事件是不定期隨機發生,運維壓力大,成本高,這只是個頭痛醫頭腳痛醫腳的方案。

第二種方案,可以通過追加本地緩存提升緩存能力,但是本地緩存設置多大,刷新頻率多高,業務是否能容忍臟讀,這些都是無法繞開的問題。

第三種方案,可以追加只讀副本來實現數據的復制,但是同樣也會帶來成本高企,主庫負載高等問題。

Redis單數據多源超高并發下的解決方法

上面這個架構圖是一個優化的解決方案,通過主庫拉取多個只讀從庫的分支,對不同的請求源,劃分獨立的緩存服務。比如手機應用就固定路由到APP數據資源組,WEB 訪問就路由到WEB 數據資源組等,并且每個資源組可以提供N個只讀副本,提高同源訪問下的并發訪問能力。這種架構可以提升不同訪問源的資源隔離能力,提升多源訪問下業務的穩定性和可用性。

這個方案的問題也比較明顯:

主庫讀寫性能差

只讀副本多,成本高

只讀鏈路過長,管理維護難,運維成本高

我們的客戶里最夸張的用到過 1主40只讀的架構,來滿足類似的業務場景。

阿里云Redis是如何解決這種超高并發訪問的問題呢?

Redis單數據多源超高并發下的解決方法

阿里云重磅推出Redis性能增強版本,通過提升網絡IO的并發處理能力,極大的提升了Redis單節點的讀寫性能,對比社區版本,性能提升3倍。由于保持單 Worker 的處理模式,100% 兼容 Redis 協議。上面的單數據百萬QPS 的訪問能力輕松達成。本文介紹的媒體類場景可以通過開通性能增強版1主5只讀實例實現單數據200w+ QPS,有效緩解突發熱點事件帶來的流量激增,超高并發訪問等行業痛點問題。相比較自建1主40只讀的社區版本,同樣性能標準的阿里云Redis性能增強版1主5只讀架構更穩定,管理更便捷,使用也更方便。

感謝你能夠認真閱讀完這篇文章,希望小編分享Redis單數據多源超高并發下的解決方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

花莲市| 昌都县| 长兴县| 阳春市| 安乡县| 奉新县| 包头市| 龙陵县| 微山县| 正宁县| 安陆市| 宁城县| 屯门区| 通河县| 吴川市| 承德市| 嘉善县| 阿勒泰市| 上蔡县| 定陶县| 贡山| 新竹市| 莲花县| 手游| 青田县| 洞头县| 武胜县| 浦县| 明溪县| 武宣县| 南丰县| 昌邑市| 信丰县| 平乡县| 施甸县| 新宁县| 吕梁市| 贵阳市| 阜宁县| 铜梁县| 朝阳区|