微服務你必須知道的CAP理論

2021-10-10 16:21:13 字數 1250 閱讀 4327

簡介:講解分布式應用核心cap知識

cap理論就是說在分布式儲存系統中,最多只能實現上面的兩點。而由於當前的網路硬體肯定會出現延遲丟包等問題,所以分割槽容忍性是我們必須需要實現的。所以我們只能在一致性和可用性之間進行權衡

ca: 如果不要求p(不允許分割槽),則c(強一致性)和a(可用性)是可以保證的。但放棄p的同時也就意味著放棄了系統的擴充套件性,也就是分布式節點受限,沒辦法部署子節點,這是違背分布式系統設計的初衷的

cp: 如果不要求a(可用),每個請求都需要在伺服器之間保持強一致,而p(分割槽)會導致同步時間無限延長(也就是等待資料同步完才能正常訪問服務),一旦發生網路故障或者訊息丟失等情況,就要犧牲使用者的體驗,等待所有資料全部一致了之後再讓使用者訪問系統

ap:要高可用並允許分割槽,則需放棄一致性。一旦分割槽發生,節點之間可能會失去聯絡,為了高可用,每個節點只能用本地資料提供服務,而這樣會導致全域性資料的不一致性。

簡介:講解常見的分布式核心cap理論介紹

常見註冊中心:zk、eureka、nacos

那你應該怎麼選擇

nacoseurekaconsulzookeeper

一致性協議

cp+ap

apcp

cp健康檢查

心跳tcp/http/grpc/cmd

keep alive

雪崩保護有有

無無訪問協議

tcpspringcloud整合

支援支援

支援支援

zookeeper:cp設計,保證了一致性,集群搭建的時候,某個節點失效,則會進行選舉行的leader,或者半數以上節點不可用,則無法提供服務,因此可用性沒法滿足

簡介:講解分布式cap的權衡結果 base理論

cap 中的一致性和可用性進行乙個權衡的結果,核心思想就是:我們無法做到強一致,但每個應用都可以根據自身的業務特點,採用適當的方式來使系統達到最終一致性, 來自 ebay 的架構師提出

soft state(軟狀態)

eventually consistent(最終一致性)

Linux世界你必須知道的

突然從windows世界轉向linux世界,也許剛開始或多或少都有點不太適應,慢慢地,也許你會發現linux的博大精深,最重要的是linux世界的很多東西都是free license,下面列舉一下linux世界你需要或必須知道的二三事。unix like 叫做 類unix 系統,主要指各種各樣的li...

你必須知道的關於tcp keepalive 設定

1.引數設定 檢視相關的引數 sysctl a grep tcp keepalive net.ipv4.tcp keepalive intvl 30 net.ipv4.tcp keepalive probes 2 net.ipv4.tcp keepalive time 160 設定相關的引數 sys...

關於 Linux shell 你必須知道的

我個人很喜歡使用 linux 系統,雖然說 windows 的圖形化介面做的確實比 linux 好,但是對指令碼的支援太差了。一開始有點不習慣命令列操作,但是熟悉了之後反而發現移動滑鼠點點點才是浪費時間的罪魁禍首。那麼對於 linux 命令列,本文不是介紹某些命令的用法,而是說明一些簡單卻特別容易讓...