驚呆了!GitHub上都在找的分散式核心筆記終於來了

2020-09-23 11:01:04

 

什麼是Java分散式?

簡單的來說就是一個大型的系統往往被分為幾個子系統來做,一個子系統可以部署在一臺機器的多個 JVM 上,也可以部署在多臺機器上。但是每一個系統不是獨立的,不是完全獨立的。需要相互通訊,共同實現業務功能。

一句話來說:分散式就是通過計算機網路將後端工作分佈到多臺主機上,多個主機一起協同完成工作。

分散式作為現在作為Java開發必知必會的技術,同時分散式技術也屬於面試中的必問題,那麼我們就需要十分明白分散式,今天就為大家整理了一份Java分散式核心原理筆記,GitHub上人人都在找的分散式核心技術筆記終於終於免費開源了!這份筆記涵蓋了:分散式協調與同步、分散式資源管理與負裁排程、分散式計算技術、分散式通訊技術、分散式資料儲存、分散式高可靠(這份分散式筆記已經整理完畢,免費的領取方式在文末!)

分散式協調與同步

分散式互斥

  • 什麼是分散式互斥?
  • I霸道總裁:集中式演演算法
  • 民主協商:分散式演演算法
  • 輪值CEO:令牌環演演算法

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式選舉

  • 為什麼要有分散式選舉?
  • 分散式選舉的演演算法
  • 長者為大: Bully演演算法
  • 民主投票: Raft 演演算法
  • 具有優先順序的民主投票: ZAB演演算法
  • 三種選舉演演算法的對比分析

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式共識

  • 什麼是分散式共識?
  • 分散式共識方法
  • PoW
  • PoS
  • DPoS
  • 三種分散式共識演演算法對比分析

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式事務

  • 什麼是分散式事務?
  • 如何實現分散式事務?
  • 基於XA協定的二階段提交方法
  • 三階段提交方法:第一,CanCommit階段、第二,PreCommit階段、第三,DoCommit 階段
  • 基於分散式訊息的最終一致性方案
  • 種實現方式對比

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式鎖

  • 為什麼要使用分佈鎖?
  • 分散式鎖的三種實現方法及對比
  • 基於快取實現分散式鎖
  • 基於ZooKeeper實現分散式鎖
  • 三種實現方式對比

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式技術是如何引爆人工智慧的?

  • 什麼是人工智慧?
  • 資料處理
  • 分散式模型訓練
  • 資料分散式訓練
  • 模型分散式訓練
  • 混合模型訓練

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式資源管理與負裁排程

分散式體系結構一集中式結構

  • 什麼是集中式結構?
  • 經典集中式結構
  • Google Borg
  • Kubernetes
  • Mesos
  • 分析對比

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式體系結構一非集中式結構

  • 什麼是非集中式結構?
  • Akka叢集
  • Redis叢集
  • Cassandra叢集
  • 對比分析

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式排程架構一單體排程

  • 什麼是單體排程?
  • 單體排程設計
  • Borg排程設計
  • Borg排程演演算法

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式排程架構一兩層排程

  • 什麼是兩層排程?
  • 兩層排程設計
  • 兩層排程架構
  • 資源分配演演算法

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式排程架構一共用狀態排程

  • 什麼是共用狀態排程?
  • 共用狀態排程設計
  • Omega排程架構
  • Omega共用排程工作原理

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式事務與分散式鎖相關問題

分散式計算技術

分散式計算模式—MR

  • 什麼是分而治之?
  • 分治法的原理
  • 抽象模型
  • MapReduce工作原理
  • MapReduce實踐應用

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式計算模式一Stream

  • 什麼是Stream?
  • Stream工作原理
  • Storm的工作原理

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式計算模式一Actor

  • 什麼是Actor?
  • Actor計算模式
  • Actor工作原理
  • Actor關鍵特徵
  • Actor模型的應用

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式計算模式—流水線

  • 什麼是流水線模式?
  • 流水線計算模式
  • 流水線計算模式的原理
  • 實踐:構建機器學習流水線

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式通訊技術

分散式通訊—遠端呼叫

  • 什麼是遠端呼叫?
  • 遠端呼叫的原理及應用
  • RPC的原理及應用
  • RMI的原理及應用
  • RPC與RMI對比分析

 

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式通訊發—釋出訂閱

  • 什麼是釋出訂閱?
  • 釋出訂閱的原理及應用
  • 釋出訂閱的基本工作原理
  • Kafka釋出訂閱原理及工作機制
  • 釋出訂閱實踐應用

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式通訊一訊息佇列

  • 什麼是訊息佇列?
  • 訊息佇列的原理
  • 訊息佇列工作原理
  • RocketMQ訊息佇列原理及工作機制

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式體系架構與分散式計算相關問題

分散式資料儲存

CAP理論

  • 什麼是CAP?
  • CAP選擇策略及應用
  • 保CA棄P
  • 保CP棄A
  • 保AP棄C

分散式資料儲存系統—三要素

  • 什麼是分散式資料儲存系統?
  • 布式資料儲存系統三要素
  • 生產和消費資料
  • 確定資料位置
  • 儲存資料

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

資料分佈方式—雜湊與一致性雜湊

  • 資料分佈設計原則
  • 資料分佈方法
  • 雜湊一致性雜湊
  • 帶有限負載的一致性雜湊
  • 帶虛擬節點的一致性雜湊
  • 四種資料分佈方法對比

分散式資料複製技術

  • 什麼是資料複製技術?
  • 資料複製技術原理及應用
  • 同步複製技術原理及應用
  • 非同步複製技術原理及應用
  • 半同步複製技術原理及應用
  • 三種資料複製技術對比

分散式資料一快取技術

  • 什麼是分散式快取?
  • 分散式快取原理
  • Redis分佈快取原理
  • Memcached分散式快取原理

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式高可靠

分散式高可靠一負載均衡

  • 什麼是負載均衡?
  • 服務請求的負載均衡方法
  • 輪詢策略
  • 隨機策略
  • 雜湊和一致性雜湊策略

分散式高可靠一流量控制

  • 什麼是流量控制?
  • 分散式系統流量控制策略
  • 漏桶策略
  • 令牌桶策略
  • 兩種策略對比
  • Sentinel流量控制工作原理

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

分散式高可用一故障隔離

  • 什麼是故障隔離?
  • 分散式故障隔離策略
  • 執行緒級隔離
  • 程序級隔離
  • 資源隔離
  • 故障隔離策略綜臺對比

分散式高可用一故障恢復

  • 分散式故障基礎知識
  • 故障型別
  • 故障檢測
  • 故障恢復
  • 分散式故障檢測原理
  • 故障恢復策略

如何判斷並解決網路分割區問題?

  • 什麼是網路分割區?
  • 如何判斷是否發生了網路分割區?
  • 網路分割區最微妙的地方在哪裡?
  • 網路分割區出現概率較高的場景是什麼?
  • 網路分割區有哪些常見的處理方法?

被傳“瘋”了!GitHub上都在找的分散式核心筆記終於來了

 

免費獲取方式:幫忙點贊一下這篇文章+關注我,然後加助理VX:mxx2020666,即可免費領取