1. 程式人生 > >RDS讀寫分離,海量資料一鍵搞定

RDS讀寫分離,海量資料一鍵搞定

簡介
RDS為使用者提供高透明,高可用,高效能,高靈活的讀寫分離服務。在最近的版本我們基於短連線的使用者進行了優化,使得短連線的使用者負載均衡更加完善合理。RDS讀寫分離有如下特性:

易用/透明性
使用者只需要在原來的只讀例項的主例項上開通一個讀寫分離的VIP就可以使用讀寫分離,而不需要修改任何業務程式碼。對使用者的接入成本幾乎為0。

高可用
RDS讀寫分離服務能夠主動判斷只讀庫的健康情況(包括節點crash,主備同步異常,延遲較大等),對於不健康的只讀庫不再進行路由,從而保證系統的整體可用性。同時在故障節點恢復後重新按權重進行負載均衡。

高效能
RDS的讀寫分離服務,由RDS的中介軟體服務提供路由及負載均衡,對於讀多寫少的業務能夠充分利用只讀庫的資源,使得整體業務效能得到顯著的提高。

高靈活
RDS的讀寫分離服務為使用者提供按權重的請求及連線雙重負載均衡模式,使用者可以根據自己只讀庫的硬體資源情況,對每個只讀庫設定相應的讀權重,同時也支援把主庫放到讀列表裡,分擔部分讀請求。

另外,為使用者提供讀庫同步延遲的可用性配置,當用戶對資料的實時性要求較高的話,使用者可以通過調小該值來保證只有在只讀庫與主庫的同步延遲小於該值時,讀寫分離服務才會把讀請求路由到該只讀庫。

擴容更靈活,使用者可以隨著業務的增長適當的擴容只讀庫,而這個也只需要在控制檯上下發一個擴容請求就可以,無需業務上做任務調整。

提供特定的hit語法:如/FORCE_MASTER/ /FORCE_SLAVE/,方便使用者指定SQL到master或slave上執行;以及/PROXY_INTERNAL/show last route檢視sql路由情況等。

場景應用
隨著業務增長,資料越來越大,使用者對資料的讀取需求也隨之越來越多,比如各種AP操作,都需要把資料從資料庫中讀取出來,同時,隨著資料量的增加,讀請求的效能消耗也可能隨之增加,從而導致影響到使用者的寫請求,反之亦然,寫請求也可能會影響到使用者的讀請求,使得DB的總體吞吐量下降。為了解決該問題,RDS之前提供了只讀例項的方案,使用者可以通過開通多個只讀例項,將讀請求業務直接連線到只讀例項上,該方案能夠解決上述問題,但引來的問題也很明顯,使用者的使用成本增大了:需要手動區分讀寫業務,有多個訪問地址維護性差,無法做負載均衡,容易受只讀例項的可用性影響等。

RDS雲資料庫讀寫分離就是為了解決如上問題而產生的。使用者只需要一個請求地址,業務不需要做任何修改,由RDS自帶的讀寫分離中介軟體服務來完成讀寫請求的路由及根據不同的只讀例項規格進行不同的負載均衡,同時當只讀例項出現故障時能夠主動摘除,減少對使用者的影響。對使用者達到一鍵開通,一個地址,快速使用。

架構簡介
圖片描述
圖1 使用者鏈路檢視
對於使用者來說看到的還是一個普通的mysql連線,只是這個連線先直接訪問RDS的中介軟體服務,再由中介軟體服務進行轉發,對使用者來說是完全透明的。

內部框架
圖片描述
圖2 RDS中介軟體內部元件
RDS中介軟體服務的讀寫分離功能,主要由圖2所示的模組組成。

RW SESSION:每個使用者連線對應的RDS中介軟體服務裡的一個rw session,其中主要維護著一個與主庫的socket以及與只讀庫的ro_session,同時負責session狀態的保持及恢復
RO SESSION:負責與只讀庫的請求處理
ROUTE STRATEGT:該模組也是讀寫分離的核心模組,負責sql的路由決策
LB:load balance,負責讀請求的負載均衡,使用常用的weighted round robin演算法
QOS:負責只讀庫的健康檢查
PS:當前PGSQL暫時不支援讀寫分離

總結
RDS雲資料庫自帶的讀寫分離服務能夠有效的解決使用者資料量大讀請求多,帶來的DB吞吐量下降等問題;一鍵開通、一個地址、快速使用極大的減少了使用者的使用成本;配置靈活,自動檢測消除了單點故障提高了系統的可用性。

相關推薦

RDS分離,海量資料

簡介 RDS為使用者提供高透明,高可用,高效能,高靈活的讀寫分離服務。在最近的版本我們基於短連線的使用者進行了優化,使得短連線的使用者負載均衡更加完善合理。RDS讀寫分離有如下特性:易用/透明性 使用者只需要在原來的只讀例項的主例項上開通一個讀寫分離的VIP

CQRS-分離資料處理模式

譯者按: 本文是翻譯自Martin Fowler的一篇部落格。 老馬同志向來是我所敬仰的大師級人物,現在的“微服務”這個詞就是從老馬同志的部落格開始火起來的。 原文連結 CQRS CQRS指的是命令查詢職責分離模式,最早我聽 Greg You

Excel數字提取神器:海量資料提取!學會這招,簡直完勝!

當我們在處理複雜的Excel表格時,經常會碰到一些複雜的資料,如果我們只想要裡面的數字,那麼有沒有辦法只將數字提取出來呢?答案是有的。今天小編就教大家幾個技巧,完全不費吹灰之力! 提取文字左側資料 當單元格中數字在左,文字在右時,我們可以利用這個公式。 函式公式:【=LEFT(A2,2*LEN

高考估分查分選誌願_支付寶又操辦了件人生大事

排行榜 發布 高校 概率 絕對值 cdn 最終 機構 它的 原文鏈接 可能比高考更考驗心力的填報誌願,支付寶要幫你一鍵搞定。 支付寶今天正式上線集估分、查分、選誌願等眾多服務於一體的高考後綜合服務平臺,陪伴高考學生的青春大考。考生在估分、查分後,還可以看到系統智能推薦供參

Source Insight 中文註釋為亂碼解決辦法(完美解決,)【轉】

ash save sys lan sim edit ext pan character 轉自:http://blog.csdn.net/bjarnecpp/article/details/70174752 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 S

上課開會時因為記筆記而跟不上速度?錄音轉文字!

信很多人都會遇到這樣的問題,在上課或開會的時候,總是有很多很重要的點需要我們記錄下來,但是一旦把筆記記清楚了,老師或老闆估計已經講到別處去了,我們也很容易跟不上速度。   今天小編就來告訴大家如何解決這樣的問題,讓我們既能擁有完整筆記,也能跟得上老師或老闆的速度! 一、錄

生產級部署 Python 指令碼,日誌收集、崩潰自啟,

今天介紹一個生產級的流程管理工具 PM2,通常我們說到 PM2 的時候,都是在說如何部署 Node.js 程式,但是實際上 PM2 很強大,不僅僅可以用來管理 Node.js,它還可以用來管理 Python、PHP、Ruby、perl 等等。 這裡就以 Python 舉

還在用老辦法掃描?紙質文件變電子文件,手機這個功能

  在職場辦公中,經常需要做的就是將紙質文件製作成電子文件,我們都知道紙質文章不僅使用起來很費時,而且效果也不怎麼樣,相反的,電子文件不僅使用起來清晰明瞭,而且還不容易損壞和丟失。 如何實現將紙質文件變電子文件,小編教你用手機這個功能一鍵快速搞定,相信有了這個小方法,讓你的上司都對

Source Insight 中文註釋為亂碼解決辦法(完美解決,

我從網上查了一堆解決辦法,但是都是2017年以前的解決方案,並且都是針對於source insight 3.5及以下版本的,目前SI軟體版本都到4.0了,應該有新方法出現了。 —————————————————————————————————————— 乾貨:Source

Java桌面應用安裝部署 —— exe4j + Inno Setup 帶著JRE, 8M起飛

[Setup] AppName=資料結構演示程式 AppVersion=1.5 DefaultDirName={pf}\DataStucture DefaultGroupName=DataStucture ;UninstallDisplayIcon={app}\MyProg.exe OutputDir=D:\

EF通用資料層封裝類(支援分離主多從)

原文: EF通用資料層封裝類(支援讀寫分離,一主多從) 淺談orm   記得四年前在學校第一次接觸到 Ling to Sql,那時候瞬間發現不用手寫sql語句是多麼的方便,後面慢慢的接觸了許多orm框架,像 EF,Dapper,Hibernate,ServiceStack.OrmLite 等。當

EF通用數據層封裝類(支持分離主多從)

dto cte 功能 pes getc mes 工廠 好的 靈活 淺談orm 記得四年前在學校第一次接觸到 Ling to Sql,那時候瞬間發現不用手寫sql語句是多麽的方便,後面慢慢的接觸了許多orm框架,像 EF,Dapper,Hibernate,ServiceSta

Mycat實現分離

mycatMycat介紹Mycat是一個國產中間件產品,作用在應用層和數據庫之間架橋,使應用通過MyCat來對後端數據庫進行管理,是一款國人自主的開源的中間件產品。算是比較優秀的一款,前身是阿裏公司在維護,很多公司也慢慢的在嘗試接入這個產品,但不得不說官方文檔似乎做的不太友好。至於為什麽選擇MyCat可能只有

mycat基本概念及分離

heartbeat sha linux系統中 mys ren ack ima text 雙master mycat基本概念及讀寫分離一

從零開發分布式數據庫中間件 分離的數據庫中間件(轉)

mark str 日誌系統 arraylist none views gpo arr 體系 從零開發分布式數據庫中間件 一、讀寫分離的數據庫中間件

MySQL主從(MySQL proxy Lua分離設置,主多從同步配置,分庫分表方案)

否則 count user username 2個 ons 基礎 zxvf 路徑 Mysql Proxy Lua讀寫分離設置一.讀寫分離說明讀寫分離(Read/Write Splitting),基本的原理是讓主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DE

mysql主從配置實現分離

配置文件 狀態 main ado man datadir lai community more 主從介紹 定義 Mysql主從又叫Replication、AB復制。簡單講就是A與B兩臺機器做主從後,在A上寫數據,另外一臺B也會跟著寫數據,實現數據實時同步 mysql主從是

MariaDB實現主從配置及分離()

一、主從複製方案 1.  在兩臺CentOS7虛擬機器上分別部署MariaDB, 主資料庫伺服器IP為192.168.17.235, 從伺服器IP為192.168.17.238. 從伺服器通過調取主伺服器上binlog日誌, 在本地重建庫、表, 實現與主伺服器的AB複製. 二、步驟 1. 對兩

MySQL 之 MHA + ProxySQL + keepalived 實現分離,高可用(

don replica ifconfig soft 似的 恢復 select 8.0 ext 準備服務器: docker network create --subnet=192.168.0.0/16 staticnetdocker run -d --privileg

ORACLE分離(注:根據網上資料搭建完成步奏總結)

研究問題: