2018-01-25第6章 異步化與緩存原則

異步化與緩存兩個技術(shù)都與系統(tǒng)的性能有很大的關(guān)系瑰排,當今分布式應(yīng)用架構(gòu)中弃揽,如果不能很好地掌握這兩項技術(shù),所設(shè)計出的應(yīng)用將很難有優(yōu)質(zhì)的性能表現(xiàn)功偿。

  1. 業(yè)務(wù)流程異步化
    以異步化方式將交易創(chuàng)建過程中筑舅,對于有嚴格先后調(diào)用關(guān)系的服務(wù)保持順序執(zhí)行座慰,對于能夠同步執(zhí)行的所有服務(wù)均采用異步化方式處理。
  2. 數(shù)據(jù)庫事務(wù)異步化
    通俗來說翠拣,就是將大事務(wù)拆分成小事務(wù)版仔,降低數(shù)據(jù)庫的資源被長時間事務(wù)鎖占用而造成的數(shù)據(jù)庫瓶頸,就能大大提升平臺的處理吞吐量和事務(wù)操作的響應(yīng)時間误墓。
    一定要考慮到程序異常時對業(yè)務(wù)的回滾或重試機制蛮粮,保障整個還款過程結(jié)果的最終一致。
  3. 事務(wù)與柔性事務(wù)

1.CAP理論:一個分布式系統(tǒng)最多只能同時滿足一致性(Consistency)谜慌、可用性(Availability)和分區(qū)容錯性(Partition tolerance)這三項中的兩項然想。

  • “一致性”指更新操作成功并返回客戶端完成后,所有節(jié)點在同一時間的數(shù)據(jù)完全一致畦娄。在分布式系統(tǒng)中又沾,數(shù)據(jù)通常不會只有一份,那么應(yīng)該對所有數(shù)據(jù)進行相同的操作并且這些操作應(yīng)該是同時成功或者同時失敗的熙卡。
  • “可用性”指用戶在訪問數(shù)據(jù)時可以得到及時的響應(yīng)杖刷。但是可用性并不意味著數(shù)據(jù)的一致性,比如讀取到的數(shù)據(jù)是過期數(shù)據(jù)或臟數(shù)據(jù)驳癌,但對于用戶仍有返回數(shù)據(jù)的情況下滑燃,仍然可以被認為是可用的。
  • “分區(qū)容錯性”指分布式系統(tǒng)在遇到某節(jié)點或網(wǎng)絡(luò)分區(qū)故障的時候颓鲜,仍然能夠?qū)ν馓峁M足一致性和可用性的服務(wù)表窘。一旦針對同一服務(wù)的存儲系統(tǒng)分布到了多個節(jié)點后典予,整個存儲系統(tǒng)就存在分區(qū)的可能性。

如何解決數(shù)據(jù)一致性的問題乐严?
一個簡易的方案就是建立類似操作系統(tǒng)中鎖的機制瘤袖,要求確保所有數(shù)據(jù)節(jié)點的數(shù)據(jù)均同步之后,才能進行數(shù)據(jù)的訪問操作昂验。
另一個做法就是商品的庫存數(shù)據(jù)只保存一份捂敌,不做復(fù)制,這樣就不會存在數(shù)據(jù)一致性的問題既琴。

2.BASE理論
核心思想是即使無法做到強一致性(Strong Consistency占婉,CAP的一致性就是強一致性),但應(yīng)用可以采用適合的方式達到最終一致性(Eventual Consitency)甫恩。 BASE是指基本可用(Basically Available)逆济、柔性狀態(tài)(Soft State)、最終一致性(EventualConsistency)磺箕。

  • “基本可用”是指分布式系統(tǒng)在出現(xiàn)故障的時候奖慌,允許損失部分可用性,即保證核心可用滞磺。
  • “柔性狀態(tài)”是指允許系統(tǒng)存在中間狀態(tài)升薯,而該中間狀態(tài)不會影響系統(tǒng)整體可用性。
  • “最終一致性”是指系統(tǒng)中的所有數(shù)據(jù)副本經(jīng)過一定時間后击困,最終能夠達到一致的狀態(tài)涎劈。

3.傳統(tǒng)分布式事務(wù)
4.柔性事務(wù)如何解決分布式事務(wù)問題
(1)引入日志和補償機制:通常柔性事務(wù)能通過日志記錄找回事務(wù)的當前執(zhí)行狀態(tài),并根據(jù)狀態(tài)決定是重試異常步驟(正向補償)阅茶,還是回滾前序步驟(反向補償)蛛枚。
(2)可靠消息傳遞:消息至少投遞一次,但可能會投遞多次脸哀。由于消息可能會重復(fù)投遞蹦浦,這就要求消息處理程序必須實現(xiàn)冪等(冪等=同一操作反復(fù)執(zhí)行多次結(jié)果不變)。最簡單的冪等實現(xiàn)方式是根據(jù)業(yè)務(wù)流水號寫日志
(3)實現(xiàn)無鎖:放棄鎖是一個解決問題的思路

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撞蜂,一起剝皮案震驚了整個濱河市盲镶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝌诡,老刑警劉巖溉贿,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浦旱,居然都是意外死亡宇色,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宣蠕,“玉大人例隆,你說我怎么就攤上這事∏朗矗” “怎么了镀层?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長皿曲。 經(jīng)常有香客問我鹿响,道長,這世上最難降的妖魔是什么谷饿? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮妈倔,結(jié)果婚禮上博投,老公的妹妹穿的比我還像新娘。我一直安慰自己盯蝴,他們只是感情好毅哗,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捧挺,像睡著了一般虑绵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闽烙,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天翅睛,我揣著相機與錄音,去河邊找鬼黑竞。 笑死捕发,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的很魂。 我是一名探鬼主播扎酷,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼遏匆!你這毒婦竟也來了法挨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤幅聘,失蹤者是張志新(化名)和其女友劉穎凡纳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喊暖,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡惫企,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狞尔。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡丛版,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偏序,到底是詐尸還是另有隱情页畦,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布研儒,位于F島的核電站豫缨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏端朵。R本人自食惡果不足惜好芭,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冲呢。 院中可真熱鬧舍败,春花似錦、人聲如沸敬拓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乘凸。三九已至厕诡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間营勤,已是汗流浹背灵嫌。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冀偶,地道東北人醒第。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像进鸠,于是被迫代替她去往敵國和親稠曼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

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