RDS只讀副本-輕鬆實現彈性擴展

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn

Hello大家好,歡迎來到《AWS解決方案架構師認證 Professional(SAP)中文視頻培訓課程》,我們今天的視頻課程內容爲使用RDS只讀副本-輕鬆實現彈性擴展。

我們開始今天的課程內容。

在這裏插入圖片描述

通過銀行窗口理解單一數據庫場景

首先,我們拿銀行系統來舉個例子,假設我們需要辦理銀行業務,進入銀行營業廳後,可以看到銀行設立了很多辦理業務窗口,有辦理個人業務的窗口,有辦理對公業務的窗口,以及購買理財產品的窗口等等,不同的窗口負責不同的銀行業務,將客戶辦理不同的業務分散到不同的窗口來辦理。

如果只設置一個窗口負責銀行的所有業務,大家都去這個窗口辦理業務,當客戶較多時那麼一定會造成窗口排隊的情況,降低了銀行窗口的處理效率,導致增加辦理業務所需等待的時間,這也是爲什麼銀行要爲不同的業務設置不同的辦理窗口的原因之一。

同樣的,如果您使用一個單獨的數據庫負責支撐組織所有類型的活動,那麼當業務負載較多時,可能就會導致影響這個數據庫整體的處理效率。假設您只配置一個數據庫負責支撐所有讀取和寫入的操作,當業務量突發增多時,這個單一的數據庫可能會面臨大量的讀取和寫入操作,數據庫就可能面臨着操作性能下降,導致業務受到影響。

爲了緩解這種情況,很多組織都會配置擴展更多的數據庫,然後分離數據庫的讀取和寫入操作,不在使用單一的數據庫同時處理所有的讀取和寫入操作。

在這裏插入圖片描述

數據庫只讀副本

那麼如何擴展數據庫以分離數據庫的讀取和寫入操作呢,可以通過創建數據庫的只讀副本。
如果您的數據中心服務器或者使用EC2安裝MYSQL等數據庫,可以自行配置創建只讀副本,但是如果數據庫使用的是AWS RDS服務,創建只讀副本會更加的簡單。

Amazon RDS 使用 MariaDB、MySQL、Oracle 和 PostgreSQL 數據庫引擎的內置複製功能,可以從源數據庫實例創建一個特殊類型的數據庫實例,稱爲只讀副本,使用源數據庫實例快照創建第二個數據庫實例。然後在源數據庫實例數據發生更改時,使用引擎的本機異步複製功能更新只讀副本。

當爲數據庫創建了只讀副本後,您可以將您組織的應用程序發出的所有寫入請求指向主數據庫,主數據庫發生更新時,主數據庫會異步複製更新至只讀副本,您可以將所有讀取操作路由到只讀副本,以減輕主數據庫實例上的負載。

這種架構尤其是對於那些需要進行大量讀取操作的數據庫負載的場景,分離場景的讀取和寫入操作,只將寫入操作指向主數據庫,將所有讀取操作通過只讀副本進行靈活地進行擴展,突破單個數據庫實例的負載限制,通過創建只讀副本增加總讀取吞吐量。

Amazon RDS 只讀副本 可增強數據庫實例的性能和持久性。此功能可輕鬆實現彈性擴展,突破單個數據庫實例的容量限制,以處理高讀取量的數據庫工作負載。您可以爲給定的源數據庫實例創建一個或多個只讀副本,利用多份數據副本滿足大量應用程序讀取流量需求,以此增加總讀取吞吐量。
在這裏插入圖片描述

創建RDS只讀副本

好的我們繼續,創建RDS只讀副本非常的簡單,通過AWS管理控制檯,只需要點擊幾次鼠標即可完成只讀副本的創建。我們接下來的內容就實操演示創建RDS只讀副本。

切換到RDS管理控制檯,可以看到當前我們有一個數據庫實例,數據庫標識符爲iloveawscn,這個數據庫實例目前是在東京區域。
目前我們只有這一個數據庫實例,我們接下來要做的,就是模擬前面的場景,基於這個源數據庫創建一個只讀副本,通過創建只讀副本來增加總讀取吞吐量。

選擇這個數據庫實例,操作-然後創建只讀副本。

首先爲只讀副本選擇實例的規格,AWS建議爲只讀副本使用與源數據庫實例相同的實例類型和大小,這裏一定要注意。

很多組織在選擇只讀副本實例規格時,都將只讀副本的規格大小配置成低於主數據庫的規格,比如爲主數據庫選擇16G內存,但是爲只讀副本只選擇了8G內存,不建議這麼做,因爲在某些場景下這麼做可能會影響數據庫的性能。如您爲主數據庫選擇了t2.large規格,您也至少應爲只讀副本選擇t2.large規格。

然而有一種情況,如果您組織的應用場景是需要承載大量的數據庫讀取操作, 如果您覺得提高只讀副本的實例類型和大小可以很好的應對此場景,那麼在這種場景下,您也可以爲只讀副本選擇比主數據庫更高類型的實例。但是不建議將只讀副本的規格大小配置成低於主數據庫的規格。

在這個下拉框選擇實例的規格,我們這裏就選擇t2.micro ,和我們的主數據庫的規格大小一致。
在這裏插入圖片描述

我們繼續,另外一個需要關注的配置項爲目標區域,也就是要在哪個區域啓動只讀副本。通過只讀副本不僅能夠實現數據庫的彈性擴展,且只讀副本也可作爲災難恢復策略的一部分,您可以跨 AWS 區域配置只讀副本。

目前我們的主數據庫在東京區域,後面我們將此只讀副本配置到不同的區域,比如首爾區域,如果之後主數據庫所在的東京區域出現故障,那麼我們仍然有隻讀副本中的數據在首爾區域,當出現這種情況時,是可以將只讀副本提升爲獨立的數據庫實例使用的,我們後面課程會講到。所以只讀副本不僅能夠實現數據庫的彈性擴展,還可以幫助我們用於災後恢復。

我們現在選擇只讀副本的目標區域,可以和主數據庫選擇相同區域或不同區域,我們的主數據庫在東京,我們就將只讀副本啓動到首爾,選擇首爾。需要注意一點是,如果選擇了與主數據庫不同的區域,不同區域會增加主數據庫和只讀副本之間複製數據的延遲。

我們繼續,數據庫實例標示符,是確定數據庫實例的唯一鍵,我們爲只讀副本輸入iloveawscn-rp,其他的配置項因爲是測試,我們保持默認配置,然後創建只讀副本。

可以看到提示已啓動創建只讀副本的過程。

在這裏插入圖片描述
如果我們切換到首爾區域,應該可以看到只讀副本正在創建。現在切換到首爾區域,可以看到我們剛剛創建的iloveawscn-rp只讀副本,狀態爲正在創建。完成創建的時間取決於您的主數據庫的大小,一般可能會持續幾個小時。因爲我們創建只讀副本的主數據庫也是剛剛創建的,沒有什麼數據,估計完成創建只讀副本需要10-15分鐘左右。

我會等待只讀副本創建完成,我們今天的視頻課程就先到這裏,下節課在繼續今天的內容,介紹RDS只讀副本的重要知識點。

希望今天的課程會給大家帶來幫助。
在這裏插入圖片描述

希望此係列教程能爲您通過 AWS解決方案架構師認證 Professional 認證考試帶來幫助,如您有任何疑問

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章