摘要:原則分布式系統中,數據一致性和響應速度是成反比的。總結分布式事務會結合上面三個概念進行實現,在實際開發中,就是根據具體業務在數據一致性和服務可用性兩者之間進行權衡。
把個人理解的幾個概念做了一個總結,更貼近開發工作,更直白通俗的總結(意味著不嚴謹,但能懂)。
ACID模型單個關系型數據庫就是用這個模型來保障高一致性和可用性的。
Atomicity原子性:一個事務中所有操作都必須全部完成,要么全部不完成。
Consistency一致性. 在事務開始或結束時,數據庫應該在一致狀態。
Isolation隔離層. 事務將假定只有它自己在操作數據庫,彼此不知曉。
Durability. 一旦事務完成,就不能返回。
直白,簡單的去理解
和ACID相反,分布式事務中我們無法做到強一致。 雖然可能不一致,但每個應用都可以根據自身的業務特點,采用適當的方式來使分布式系統數據達到最終一致性。
Basically Available基本可用。支持分區失敗(e.g. sharding碎片劃分數據庫)
Soft state軟狀態 狀態可以有一段時間不同步,異步。
Eventually consistent最終一致,最終數據是一致的就可以了,而不是時時高一致。
CAP原則分布式系統中,數據一致性和響應速度是成反比的。 要想多個系統數據一致,就需要時間進行同步;要想盡快響應用戶,就要接受數據不一致的情況(往往就是業務權衡)。
CAP定理是由加州大學伯克利分校Eric Brewer教授提出來的,他指出分布式WEB服務無法同時滿足一下3個屬性:
數據一致性(consistency):如果系統對一個寫操作返回成功,那么之后的讀請求都必須讀到這個新數據;如果返回失敗,那么所有讀操作都不能讀到這個數據,對調用者而言數據具有強一致性。
1. 簡單理解: 要往十個系統里每個系統都增加一條數據,每個子系統上面都進行修改成功,這樣就保證了數據一致,但是時間也會延長;
服務可用性(availability)所有讀寫請求在一定時間內得到響應
1. 簡單理解: 上面已經說到,為了保證數據一致性,我們需要延長時間。那為了減少響應時間,我們可能先在一個系統內增加一條數據,剩下的九個系統異步去添加,這就是犧牲數據一致性,換取可用性;
分區容錯性(partition-tolerance) - 可靠性在網絡分區的情況下,被分隔的節點仍能正常對外服務,簡單可理解為“可靠性”(兩個系統外界看來就是整體,如果系統不能通信了,成為分區。 如果不能保證分區容錯性,則節點不能正常服務,不能服務就談不上什么事務了,所以分區容錯性是肯定要保證的);
1. 分區容錯性 的理解:多個系統組成一個分布式系統,外界看來這個系統是一個整體,一個區域。
2. 但是內部如果出現網絡不通的問題,多個子系統就變成了孤島,變成了多個分區,分區容錯性就是指這種情況是,每個子系統要能夠適應這種問題,能正常提供服務,雖然數據可能沒同步到其他子系統,但總比系統不能訪問要好 。
分布式事務會結合上面三個概念進行實現,在實際開發中,就是根據具體業務在 數據一致性 和 服務可用性 兩者之間進行權衡。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69217.html
摘要:協議是為分布式協調服務專門設計的一種支持崩潰恢復的一致性協議,這個機制保證了各個之間的同步。選主是協議中最為重要和復雜的過程。以實際效果而言,分區相當于對通信的時限要求。參考官方文檔阿里巴巴為什么不用做服務發現定理的含義阮一峰 前言 同學們,在上一章中,我們主要講了Zookeeper兩種啟動模式以及具體如何搭建。本章內容主要講的是集群相關的原理內容,第一章可以當做是Zookeeper原...
摘要:在結構上引入了頭結點和尾節點,他們分別指向隊列的頭和尾,嘗試獲取鎖入隊服務教程在它提出十多年后的今天,已經成為最重要的應用技術之一。隨著編程經驗的日積月累,越來越感覺到了解虛擬機相關要領的重要性。 JVM 源碼分析之 Jstat 工具原理完全解讀 http://click.aliyun.com/m/8315/ JVM 源碼分析之 Jstat 工具原理完全解讀 http:...
摘要:具有不可分割性即原語的執行必須是連續的,在執行過程中不允許被中斷。提供服務主要就是通過數據結構原語集機制達到的。子節點的版本號數據節點版本號版本號創建該節點的會話的。后位則為遞增序列。 前言 最近加入了部門的技術興趣小組,被分配了Zookeeper的研究任務。在研究過程當中,發現Zookeeper由于其開源的特性和其卓越的性能特點,在業界使用廣泛,有很多的應用場景,而這些不同的應用場景...
摘要:作為微服務的基礎設施之一,背靠強大的生態社區,支撐技術體系。微服務實踐為系列講座,專題直播節,時長高達小時,包括目前最流行技術,深入源碼分析,授人以漁的方式,幫助初學者深入淺出地掌握,為高階從業人員拋磚引玉。 簡介 目前業界最流行的微服務架構正在或者已被各種規模的互聯網公司廣泛接受和認可,業已成為互聯網開發人員必備技術。無論是互聯網、云計算還是大數據,Java平臺已成為全棧的生態體系,...
閱讀 1612·2021-11-04 16:11
閱讀 3330·2021-09-09 11:33
閱讀 1574·2019-08-30 15:54
閱讀 627·2019-08-30 15:44
閱讀 3188·2019-08-30 15:43
閱讀 2569·2019-08-30 13:06
閱讀 1709·2019-08-29 17:00
閱讀 910·2019-08-29 15:33