回覆列表
  • 1 # 千鋒頭號粉絲

    在當前的後臺開發中,MySQL應用非常普遍,企業在選拔Java人才時也會考察求職者諸如效能最佳化、高可用性、備份、叢集、負載均衡、讀寫分離等問題。想要成為高薪Java工程師,一定要熟練掌握MySQL,接下來給大家分享MySQL資料庫應用場景知識。

    1、單Master

    單Master的情況是普遍存在的,對於很多個人站點、初創公司、小型內部系統,考慮到成本、更新頻率、系統重要性等問題,系統只依賴一個單例資料庫提供服務,基本上已經滿足需求。單Master場景下應該關注四點:資料備份(冷備、熱備、溫備)、資料還原、備份監控、資料檔案遠端儲存。

    2、一主一從

    考慮一主一從的多數初衷是系統性能和系統高可用性問題,除了單Master場景中的備份工作需要做好以外,還有效能最佳化、讀寫分離、負載均衡三項重點工作需要考慮。

    3、一主n從

    一旦開始考慮一主多從的伺服器架構,則證明你的系統對可用性、一致性、效能中一種或者多種的要求比較高。好多系統在開始搭建的時候都會往這個方向看齊,這樣“看起來”系統會健壯很多。一主n從關注的重點是:資料一致性、腦裂、雪崩、連線池管理。

    4、橫向叢集

    橫向叢集主要是從業務特性的角度對系統進行切分,最徹底就是切分成了各個子系統,子系統之間透過一些資料同步的方案來把一些核心資料進行共享,以避免跨庫呼叫Join。然後是各種系統介面呼叫,把大事務拆成小事務,事務之間做好隔離和同步。橫向叢集學習的重點是表路由、跨庫Join、分散式事務。

    5、縱向叢集

    橫向叢集的切分思路最終是切分子系統,而縱向叢集最後遇到的最棘手的問題是擴縮容。縱向叢集學習的重點是庫路由、分散式主鍵、擴/縮容。

    6、混合模式

    混合模式是對以上5種場景中的一個總結,將每個場景中的重點、問題點考慮全了,混合模式下的問題就不是問題。

    除了要掌握MySQL資料庫知識,Java工程師更要掌握專業的技能,比如面向物件、Java常用的類、庫等。

  • 中秋節和大豐收的關聯?
  • 手機連不了wifi,被拉黑了,怎麼解除?