分布式高階的那些坑

2021-10-07 00:14:24 字數 1326 閱讀 6951

當我寫這篇部落格的時候,我在想,md程式設計就是乙個沒有終點的泰山,天天爬,後悔的是沒有早點覺得,慶幸的事,我終於覺得了

當我們學會crud的時候,我們進入了程式設計裡面的小學

要想公升級到初中,當時剛公升初中的時候對數學中的函式就蒙了一陣

所以從crud到多執行緒的crud  和執行緒安全的crud,這是到初中了,這中間就有那些鎖,,同步關鍵字  和lock類

到了初中畢業,在社會中就是乙個完成了義務教育的人,在程式設計裡面也是,你只是完成了義務教育

到了高中,我們開始了高壓力的課程

分布式接踵而來,無論是微服務 分布式  雲原生,

都是乙個垂直拆分業務的過程

那同步都有鎖

分布式也有,分布式鎖就是解決了,在分布式的環境下,我們的業務系統做到三高的前提,

分布式鎖

鎖就是乙個加鎖和解鎖的過程

不要想象的那麼複雜

只要做到不混亂,排著序來,那麼久都是理想的分布式

為了完成分布式鎖,

那麼什麼可以,資料庫中的一條記錄,

redis的乙個鍵值對

zk的乙個樹裝唯一子節點,

zk在dubbo   kafka   solr    hbase   hadoop中都有他的身影,所以在分布式中有乙個舉重若輕的角色

kafka  在日誌系統  流計算  等有著舉足若輕的角色  所以他是大資料搬運的乙個不可或缺的角色

分布式的  cap    base  等之歌是需要好好掌握的   他實現的是分布式的acid

zk經典書籍中的三個例子寫明白了cap

火車站銀行 還有個什麼,我下次補充,

分別寫明白了cap  的三個概念

來解釋個zab吧,這是經典的paxos的實現

就是奇數個主機節點中(不是znode資料節點),當leader發布了一條事務(唯一)

當主機節點的半數follower同意了,那麼久commit這個事務  ,soeasy

dubbo   是阿里的乙個rpc框架

當他停止更新的那段時間,我們正好用的是webservice,那段時間,有文章說他不行了,導致我和dubbo相親晚了好久

和分布式戀愛也晚了好久

哎,現在作為阿里的頂級apache專案,

來吧抱大腿

他的後天管理介面不是特別的炫,感覺樸實了點

rpc的原理,網路,序列化,註冊中心

dubbo的協議和tcp/ip協議有相似的地方

註冊中心,好多個,語言支援,好多個

實踐是檢驗真理的唯一標準,

真理是指導實踐的指路明燈

兩個節點通訊,模仿三次握手,

多個節點通訊   就必須注意分布式一致性了

加油少年,東隅已逝桑榆非晚

puppeteer node爬蟲分布式高階

1.需要抓取的不同資料有很多,會同時開啟無頭瀏覽器去抓取,然後獲取到資料後又無厘頭的一股腦擠進資料庫 2.無法保證同一時刻需要的資料只有乙個操作在進行 因為使用的是node,所以盡可能的尋找node支援的分布式框架 node版的 zookeeper node版的 rabbitmq 發布者,給書旗起乙...

分布式 分布式鎖

本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...