国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分布式系統基礎知識

since1986 / 805人閱讀

摘要:如果能夠在分布式系統中針對某一個數據項的變更成功執行后,所有用戶都可以馬上讀取到最新的值,那么這樣的系統就被認為具有強一致性。

1.分布式系統是什么

分布式系統:

一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統,這是分布式系統,在不同的硬件,不同的軟件,不同的網絡,不同的計算機上,僅僅通過消息來進行通訊與協調。

更細致的看這些特點又可以有:分布性、對等性、并發性、缺乏全局時鐘、 故障隨時會發生。

1.1分布性:
最顯著的特點肯定就是分布性,從簡單來看,如果我們做的是個電商項目,整個項目會分成不同的功能,專業點就不同的微服務,比如用戶微服務,產品微服務,訂單微服務,這些服務部署在不同的tomcat中,不同的服務器中,甚至不同的集群中,整個架構都是分布在不同的地方的,在空間上是隨意的,而且隨時會增加,刪除服務器節點,這是第一個特性。

1.2對等性:
對等性是分布式設計的一個目標。分布式系統拆分了好多個服務,每個服務都可能出問題而導致整個系統出問題,因此每個服務一般都有備份,在服務異常時備份服務能頂替原來異常的服務.
關鍵:這就要求2個服務是完全對等的,功能完全一致.比如訂單服務,客戶服務等,其實就是服務副本的冗余.
還有一種是數據冗余,如數據庫,緩存和分布式服務一樣需要有備份存在,這就是對等性.

1.3并發性
在分布式系統里面的并發就不是我們基礎學習的多線程(單JVM)了,而是更高層,從多進程多JVM角度,比如多個分布式服務可能并發操作一些共享資源,如何準確并高效的協調分布式并發操作.

1.4缺乏全局時鐘
在分布式系統中,節點是可能反正任意位置的,而每個位置,每個節點都有自己的時間系統,因此在分布式系統中,很難定義兩個事務糾結誰先誰后,原因就是因為缺乏一個全局的時鐘序列進行控制,當然,現在這已經不是什么大問題了,已經有大把的時間服務器給系統調用。

1.5故障隨時發生
任何一個節點都可能出現停電,死機等現象,服務器集群越多,出現故障的可能性就越大,隨著集群數目的增加,出現故障甚至都會成為一種常態,怎么樣保證在系統出現故障,而系統還是正常的訪問者是作為系統架構師應該考慮的。

2.分布式系統協調“方法論”

2.1 分布式系統帶來的問題

通信異常:通訊異常其實就是網絡異常,網絡系統本身是不可靠的,由于分布式系統需要通過網絡進行數據傳輸,網絡光纖,路由器等硬件難免出現問題。只要網絡出現問題,也就會影響消息的發送與接受過程,因此數據消息的丟失或者延長就會變得非常普遍。

網絡分區:網絡分區,其實就是腦裂現象。比如有個管理者與一些服務通信并協調服務,出于一些異常情況通信斷了,出現了一個臨時管理者,實際上原來的管理者還在,這樣2個管理者做同一個工作會出現問題

三態:三態其實就是成功,與失敗以外的第三種狀態,叫超時態。
在一個jvm中,應用程序調用一個方法函數后會得到一個明確的相應,要么成功,要么失敗,而在分布式系統中,雖然絕大多數情況下能夠接受到成功或者失敗的相應,但一旦網絡出現異常,就非常有可能出現超時,當出現這樣的超時現象,網絡通訊的發起方,是無法確定請求是否成功處理的。

節點故障: 節點故障在分布式系統下是比較常見的問題,指的是組成服務器集群的節點會出現的宕機或“僵死”的現象,這種現象經常會發生

.

2.2 CAP理論

CAP其實就是一致性,可用性,分區容錯性這三個詞的縮寫。

C 一致性:數據在分布式環境下的多個副本之間能否保持一致性,這里的一致性更多是指強一致性;這里說的一致性和前面說的對等性其實差不多。如果能夠在分布式系統中針對某一個數據項的變更成功執行后,所有用戶都可以馬上讀取到最新的值,那么這樣的系統就被認為具有【強一致性】。

A 可用性:分布式系統一直處于可用狀態,對于請求總是能在有限的時間內返回結果致性;這里的重點是【有限的時間】和【返回結果】,為了做到有限時間用到了緩存,負載均衡,為了返回結果考慮服務器主備.

P 分區容錯性:除非整個網絡故障,分布式系統在任何網絡或者單點故障時,仍能對外提供滿足一致性和可用性的服務;

CAP具體描述:

2.3. BASE理論

即使無法做到強一致性,但分布式系統可以根據自己的業務特點,采用適當的方式來使系統達到最終的一致性;

BasicallyAvaliable基本可用:當分布式系統出現不可預見的故障時,允許損失部分可用性,保障系統的“基本可用”;體現在“時間上的損失”和“功能上的損失”;e.g:部分用戶雙十一高峰期淘寶頁面卡頓或降級處理;

Soft state軟狀態:允許系統中的數據存在中間狀態,既系統的不同節點的數據副本之間的數據同步過程存在延時,并認為這種延時不會影響系統可用性;e.g:12306網站賣火車票,請求會進入排隊隊列;

Eventually consistent最終一致性:所有的數據在經過一段時間的數據同步后,最終能夠達到一個一致的狀態;e.g:理財產品首頁充值總金額短時不一致;

分布式一致性算法:
常見分布式一致性算法:2p,3p,paxos,zab算法;

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77825.html

相關文章

  • 揭秘:技術人突破瓶頸期,離不開這幾個關鍵點

    摘要:但是這些角色都是相互交叉影響的。相信對于已經工作和遇到技術瓶頸的,在這個群里會有你需要的內容。微服務強調將功能合理拆解,盡可能保證每個服務的功能單一,按照單一責任原則明確角色。 作為一個技術人,不知道你有沒有遇到過下面的情況? 我學不到新東西 我感覺沒啥成長 每天都在重復勞動 …… 其實,每個技術從業者,多多少少都會遇到工作或學習瓶頸期。產生瓶頸期,往往不是因為我們不夠努力,而是以下原...

    taowen 評論0 收藏0
  • 一個從基礎到實戰的學習機會:Go & Rust、布式數據庫系統 | PingCAP Tal

    摘要:每年設有三期線下課程,分別在月份,月份以及月份,所有線下課程將在北京總部進行。當大家完成了線下課程和全部課程考核,我們會舉辦一個充滿儀式感的結業答辯,并為順利結業的小伙伴授予專屬的結業證書。 TiDB 每一次微小進步都離不開廣大社區小伙伴們的支持,但也有很多同學反映 TiDB 是一個非常復雜的分布式數據庫系統,如果沒有相關知識和經驗積累,在參與之初難免會遇到各種問題。因此我們決定全面升...

    TNFE 評論0 收藏0

發表評論

0條評論

since1986

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<