MySQL數(shù)據(jù)庫(kù)讀寫(xiě)分離的應(yīng)用場(chǎng)景和存在問(wèn)題

為什么要讀寫(xiě)分離

在應(yīng)用的用戶(hù)訪問(wèn)量比較低的時(shí)候拨匆,一個(gè)數(shù)據(jù)庫(kù)的讀寫(xiě)能力是完全能夠勝任的端壳。但是在用戶(hù)訪問(wèn)量增大的時(shí)候颂翼,數(shù)據(jù)庫(kù)I/O就會(huì)成為瓶頸藤巢,解決數(shù)據(jù)庫(kù)I/O瓶頸可以有兩種方式:

  • 增加數(shù)據(jù)庫(kù)緩存搞莺,如memche、Redis掂咒,數(shù)據(jù)庫(kù)的讀寫(xiě)先操作緩存,然后再持久化到數(shù)據(jù)庫(kù)迈喉;
  • 數(shù)據(jù)庫(kù)主從備份绍刮,進(jìn)行讀寫(xiě)分離;
    通過(guò)對(duì)用戶(hù)訪問(wèn)的數(shù)據(jù)分析挨摸,一定是讀數(shù)據(jù)庫(kù)的量要遠(yuǎn)遠(yuǎn)大于寫(xiě)數(shù)據(jù)庫(kù)的量孩革,這時(shí)讀就成為瓶頸,而讀寫(xiě)的可靠性級(jí)別也是不一樣的得运,寫(xiě)的可靠性要求會(huì)更高膝蜈,針對(duì)讀寫(xiě)的不同的要求,進(jìn)行數(shù)據(jù)庫(kù)的讀寫(xiě)分離熔掺。

如何實(shí)現(xiàn)主從同步

讀寫(xiě)分離饱搏,主從同步

半同步復(fù)制:主庫(kù)在執(zhí)行完客戶(hù)端提交的事務(wù)后不是立刻返回給客戶(hù)端,而是等待至少一個(gè)從庫(kù)接收到并寫(xiě)到relay log中才返回給客戶(hù)端置逻。
并發(fā)復(fù)制:指的是從庫(kù)開(kāi)啟多個(gè)線程推沸,并行讀取relay log中不同庫(kù)的日志,然后并行重放不同庫(kù)的日志券坞。

讀寫(xiě)分離存在哪些問(wèn)題及解決方法

由于主從同步是異步的鬓催,存在不一致的情況,因此會(huì)產(chǎn)生一些問(wèn)題恨锚。

問(wèn)題1

用戶(hù)注冊(cè)成功后宇驾,需要進(jìn)行登錄操作,注冊(cè)是寫(xiě) 操作猴伶,登錄是讀操作课舍,如果此時(shí)從庫(kù)還沒(méi)有用戶(hù)的注冊(cè)信息塌西,那么用戶(hù)登錄會(huì)失敗。
解決方法:
這個(gè)問(wèn)題可以在業(yè)務(wù)層進(jìn)行處理布卡,注冊(cè)成功之后雨让,馬上登錄的,訪問(wèn)主庫(kù)忿等;
這個(gè)問(wèn)題也可以在訪問(wèn)從庫(kù)失敗之后栖忠,訪問(wèn)主庫(kù)進(jìn)行驗(yàn)證;

問(wèn)題2

用戶(hù)修改密碼成功后贸街,需要進(jìn)行登錄操作庵寞,修改是寫(xiě) 操作,登錄是讀操作薛匪,如果此時(shí)從庫(kù)還沒(méi)有更新用戶(hù)的信息捐川,那么用戶(hù)登錄會(huì)失敗。
解決方法:

緩存方案

此時(shí)從庫(kù)的數(shù)據(jù)沒(méi)有更新逸尖,如果用戶(hù)登錄會(huì)出現(xiàn)失敗古沥。可以在業(yè)務(wù)邏輯層進(jìn)行處理娇跟,當(dāng)用戶(hù)密碼修改后岩齿,在緩存中新增一條Id記錄,記錄用戶(hù)的最新信息苞俘,并設(shè)置過(guò)期時(shí)間盹沈,每次請(qǐng)求的時(shí)候,先從緩存讀取信息吃谣,如果沒(méi)有在緩存讀到乞封,則到從庫(kù)讀取。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末岗憋,一起剝皮案震驚了整個(gè)濱河市肃晚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌澜驮,老刑警劉巖陷揪,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異杂穷,居然都是意外死亡悍缠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)耐量,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)飞蚓,“玉大人,你說(shuō)我怎么就攤上這事廊蜒∨颗。” “怎么了溅漾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)著榴。 經(jīng)常有香客問(wèn)我添履,道長(zhǎng),這世上最難降的妖魔是什么脑又? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任暮胧,我火速辦了婚禮,結(jié)果婚禮上问麸,老公的妹妹穿的比我還像新娘往衷。我一直安慰自己,他們只是感情好严卖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布席舍。 她就那樣靜靜地躺著,像睡著了一般哮笆。 火紅的嫁衣襯著肌膚如雪来颤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天稠肘,我揣著相機(jī)與錄音脚曾,去河邊找鬼。 笑死启具,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的珊泳。 我是一名探鬼主播鲁冯,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼色查!你這毒婦竟也來(lái)了薯演?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤秧了,失蹤者是張志新(化名)和其女友劉穎跨扮,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體验毡,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衡创,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晶通。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片璃氢。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖狮辽,靈堂內(nèi)的尸體忽然破棺而出一也,到底是詐尸還是另有隱情巢寡,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布椰苟,位于F島的核電站抑月,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏舆蝴。R本人自食惡果不足惜谦絮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望须误。 院中可真熱鬧挨稿,春花似錦、人聲如沸京痢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祭椰。三九已至臭家,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間方淤,已是汗流浹背钉赁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留携茂,地道東北人你踩。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像讳苦,于是被迫代替她去往敵國(guó)和親带膜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容