1. 程式人生 > >java分散式都有哪些知識點

java分散式都有哪些知識點

  • 高可用性,保證服務一直能夠被訪問,延長MTBF,縮短MTTR
    • 冗餘的裝置
    • 多副本,為了避免單點失效
  • 負載均衡,如何將大量工作負載分配到多個主機上,最大化吞吐量,最小化平均響應時間,最大化資源利用率。
  • 伸縮性(橫向),能夠新增計算機和裝置來應對增長的計算壓力
  • 分片(Sharding),把資料分成多個數據集,由多個伺服器來分別處理。
    • 自動分片
  • 容錯性,當硬體或軟體發生故障,能夠繼續運轉
  • 故障檢測,以及故障預測
    • 心跳包
    • 告警
    • 效能預警
  • 故障轉移,當出現錯誤,如何解決,為了高可用性和容錯性
  • 分散式一致性,在分散式環境中如何維持狀態的一致性,嚴格一致性,還是最終一致性
  • 叢集狀態協調,如Zookeeper,etcd等。
    • 分散式鎖,在分散式環境中如何進行加鎖
    • 選主,當Master宕機,如何選擇出新的Master,協議如Raft
  • 一致性雜湊,如何將資料分佈到叢集中的多個主機。
  • 分散式事務,保證在多臺伺服器上完成的操作符合事務的ACID屬性。