本文出自頭條號老王談運維,轉載請說明出處。
企業電商網站為了提高流量,往往經常開設秒殺活動,需要在幾秒鐘或者幾分鐘時間里承擔幾萬甚至幾十萬的訪問。高并發不僅對前端處理有要求,對后端一樣有要求(例如,數據庫),因此高并發的需求也是運維人員經常面對的一個問題。如何緩解該場景下的數據壓力,并且給用戶流暢舒適的訪問體驗呢?

這就是我們今天要說到的數據庫讀寫分離技術了!
什么是讀寫分離
讀寫分離,基本的原理是讓主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從數據庫處理SELECT查詢操作。數據庫復制被用來把事務性操作導致的變更同步到集群中的從數據庫。

為什么要讀寫分離
因為數據庫的“寫”(寫10000條數據到oracle可能要3分鐘)操作是比較耗時的。 但是數據庫的“讀”(從oracle讀10000條數據可能只要5秒鐘)操作非常迅速。
當業務對于數據庫讀與寫的操作數量差距非常大時,為了避免數據庫的寫入影響查詢的效率時,建議采用讀寫分離技術。
PS:數據庫不一定要讀寫分離,如果程序使用數據庫較多時,而更新少,查詢多的情況下會考慮使用,利用數據庫主從同步 ,可以減少數據庫壓力,提高性能。

讀寫分離帶來的好處
- 增加冗余
- 增加了機器的處理能力
- 對于讀操作為主的應用,可以確保寫的服務器壓力更小,而讀又可以接受點時間上的延遲。
云端如何實現讀寫分離
在云計算的大環境下,企業多將自己的電商網站部署在云端。但是對于云使用不熟悉的同學,在網站秒殺活動開始后,往往會出現頁面訪問緩慢,頁面丟失,或者用戶無法下單付款的現象。同樣都是使用RDS,為什么別人秒殺活動訪問如此順暢呢?
因為你忽略了云數據庫本身自帶的讀寫分離的功能,只需要在購買云數據庫時開通服務即可。

“云”運維的坑點確實不少,特別對于剛剛使用云不熟悉云的同學來說,一方面會增加企業IT 開銷,另一方面也會引發一些不必要的運維事故,影響業務正常運行。
推薦大家一個云運維工具——王教授,他是一個 SaaS 化的在線云計算管理及協作平臺,你只需綁定對應云賬號的AcessKey即可隨時查看到該賬戶下所有資產狀況,同時他還會對賬號下資產“健康狀況”做出診斷,并且給出優化建議。
例如:提示云服務器CPU使用率偏高

提示云數據庫RDS存在慢查詢,并且支出具體的存在慢SQL的語句

提示服務器出現的安全組變動,并且給出具體的變動“方向”

需要的同學可以查看工具地址使用:https://www.prof.wang/