1. 程式人生 > >分散式事務Hmily TCC原始碼--學習整合

分散式事務Hmily TCC原始碼--學習整合

一、什麼是分散式事務

分散式事務是指事務的參與者、支援事務的伺服器、資源伺服器以及事務管理器分別位於不同的分散式系統的不同節點上,

本質上來說,分散式事務是為了保證不同資料庫的資料一致性

TCC事務主要是基於AOP切面攔截實現的三階段提交事務,下面我們來跟讀原始碼====>

hmily,這原本是5個根本不相干的英文字母拼湊在一起的。我第一次看到關於它的故事是在某年某月某日的某本雜誌上看到的,題目就是hmily。
C是一個活潑的女孩,她在大學的生活中平平淡淡的過了2年半 ,故事的開始是從一張招聘告示開始的。因為學校的實習任務,C必須在這個暑假完成一份實習報告。自認為是設計系最具另類思維新人的她,並不削於去那些小的平面廣告公司做設計師。走過宿舍門前的公告欄時,她突然發現了一張跟她一樣另類的招聘啟示。“招

設計助理,要求,女,大三,帶寫就業報告,月薪…………”。就這樣C按照啟示上的地址來到了學校附近的一所居民樓裡,第一次見到了她的老闆B。從應聘過程中她瞭解到B是本校的大四師兄,招聘她來的目的是協助他為完成畢業報告。人長得一般,不過肩很寬,牙齒很白,笑起來很陽光…………基本上雙方對第一次見面都滿意,就這樣C就開始了每天往返於學校--工作室--宿舍之間。當然後面的情節很老套,C和B在漸漸的相處裡擦出了火花,C在大學裡第一次嚐到了戀愛的滋味,對於這個有點靜卻總是對著她微微笑的男生非常滿意。她很享受每天傍晚,靠著B寬寬的肩,鑽進他懷裡撒嬌。她喜歡B彎下腰來給她繫鞋帶,她喜歡看B吃她剩下的食物,還要對她說“謝謝”……B喜歡畫畫,畫裡大多數描寫的都是C,每一副畫的右下角都會有一個簽名“hmily”,這是B的祕密,每當C仰著腦袋問他時,他都會神祕一笑,在C臉上輕啄一下,“等你嫁給我就知道了”。
B的畢業論文順利完成,C也順利升到大四。在B離開的日子裡,他們通過電話互相傾訴對彼此的思念。偶爾的相距讓兩人的生活一直處於平穩階段。C畢業了,幸運來到一家不錯的廣告公司,開始每天有規律的生活。這家公司的老闆叫A,是一個很年輕又長得很帥的男人。從C第一天來到他公司,他就對C產生了一份不一樣的感情,是他安排C來到他的身邊,他堅信獵物快到手了。C是個單細胞,特別是在感情方面,她一直認為有了B已經很滿足了。從A表白的那天開始,C的生活開始亂了,而B這時正因為事業的需要,再一步一步往上爬,來看C的機會少了,所以對C的心裡關心也少了。往往在這個時候,A是第一個出現在C面前的人。從最初的逃避到慢慢的瞭解接觸,C一步一步走向了A。她漸漸的少回去當初那個溫馨的小屋,去看看B的畫,也漸漸忘了“hmily”。
當B意識到C的轉變時,已經晚了。無論他如何哀求,C還是不願意回到他的身邊。B帶著傷心離開了這個城市,他最後留給了C一副畫,一副帶有“hmily”簽名的畫…………
時間過得很快,B的事業在步步高昇,而他也從此成為了一個孤獨的人。往往走在城市喧囂的街道,看著身邊走過的情侶,他都會想起C,想念那個充滿愛的 小屋。
而C在沒有B 的城市裡,和A過得並不開心,失去了新鮮感的雙方,開始了無休止的戰爭。因為他們兩個都不願意先向對方低頭,他們最終分開了。帶著自己的行李,C搬出了A的家,回到從前的小屋,看著滿是灰塵的畫,C落淚了。在收拾屋子的過程中,C發現了B留下的日記。看到了hmily的真正含義:“How much I love you!”-----“我是多麼愛你"!!!

二、CAP理論
解決多個微服務之間資料可能不一致的問題,一般有個CAP理論:

C: 一致性.在分散式系統中的所有資料備份,在同一時刻具有同樣的值,所有節點在同一時刻讀取的資料都是最新的資料副本
A: 可用性,好的響應效能.完全的可用性指的是在任何故障模型下,服務都會有限的時間內處理完成並進行響應
P:分割槽容忍性.儘管網路有部分訊息丟失,但系統仍然可以繼續工作
CAP原理證明,任何分散式系統只可同時滿足以上兩點,無法三者兼顧.由於關係型資料庫是單節點無複製的,因此不具有分割槽容忍性,但具有一致性和可用性,而分散式的微服務系統都必須滿足分割槽容忍性,SpringCloud中的Eureka就是A P 定理的結合