RDS MySQL讀寫分離如何確保數(shù)據(jù)讀取的時(shí)效性
更新時(shí)間:
阿里云內(nèi)部網(wǎng)絡(luò)會(huì)確保同步日志在主實(shí)例和只讀實(shí)例間的實(shí)時(shí)傳輸,正常情況下只讀實(shí)例不會(huì)有延遲產(chǎn)生。但受限于MySQL本身的復(fù)制機(jī)制,若同步日志的應(yīng)用時(shí)間較久,會(huì)產(chǎn)生數(shù)據(jù)同步的延遲,這個(gè)是MySQL尚無法在技術(shù)手段上規(guī)避的問題。為減小延遲,建議您的只讀實(shí)例規(guī)格不小于主實(shí)例,從而確保有足夠高的性能來應(yīng)用同步日志。
RDS支持用戶設(shè)置延遲閾值,當(dāng)某個(gè)只讀實(shí)例的延遲超過該閾值時(shí),系統(tǒng)會(huì)不再轉(zhuǎn)發(fā)任何請(qǐng)求至該實(shí)例。當(dāng)所有只讀實(shí)例均超過延遲閾值時(shí),請(qǐng)求直接路由到主庫,不管主庫的讀權(quán)重是否開啟。
在使用讀寫分離過程中,若您需要某些查詢語句獲取實(shí)時(shí)性的數(shù)據(jù),可通過Hint格式將這些查詢語句強(qiáng)制轉(zhuǎn)發(fā)至主實(shí)例執(zhí)行。RDS讀寫分離支持的Hint格式為/*FORCE_MASTER*/
,指定后續(xù)SQL到主實(shí)例執(zhí)行。示例如下:
/*FORCE_MASTER*/ SELECT * FROM table_name;
文檔內(nèi)容是否對(duì)您有幫助?