#1、事務概念 參考文獻:
http://www.cnblogs.com/kristain/articles/2038397.html
http://blog.csdn.net/fg2006/article/details/6937413html
spring事務控制:
http://www.blogjava.net/robbie/archive/2009/04/05/264003.html
spring事務同步 #2、分佈式事務 在電商等業務中,系統通常由多個獨立的服務組成,分佈式事務旨爲解決分佈式調用時候數據的一致性;java
強一致性:
當更新操做完成以後,任何多個後續進程或者線程的訪問都會返回最新的更新過的值。這種是對用戶最友好的,就是用戶上一次寫什麼,下一次就保證能讀到什麼。根據 CAP 理論,這種實現須要犧牲可用性。git
弱一致性:
系統並不保證續進程或者線程的訪問都會返回最新的更新過的值。系統在數據寫入成功以後,不承諾當即能夠讀到最新寫入的值,也不會具體的承諾多久以後能夠讀到。github
最終一致性:
弱一致性的特定形式。系統保證在沒有後續更新的前提下,系統最終返回上一次更新操做的值。在沒有故障發生的前提下,不一致窗口的時間主要受通訊延遲,系統負載和複製副本的個數影響。DNS 是一個典型的最終一致性系統。spring
分佈式事務原則:編程
實現方案:緩存
按期校對
架構
2PC
框架
TCC
分佈式
業務補償
利用消息規避分佈式事務
參考文獻: http://cailin.iteye.com/blog/2266672
ByteTCC
參考文獻:https://github.com/liuyangming/ByteTCC
JTA/JTS/EJB
框架與設施建設目標思考:
參考程立-大規模SOA系統中的分佈事務處理
http://www.slideshare.net/Fenng/soa-dtp-by-alipay-cheng-li-presentation?type=powerpoint