回覆列表
  • 1 # 何凱大魔王

    1:熟練使用各種框架,並知道實現原理(比如Spring, mybatis)。

    2: JVM虛擬機器原理、調優,懂得JVM虛擬機器能讓你寫出效能更好的程式碼.

    3: 池技術,物件池,連線池,執行緒池

    4:JAVA反射技術,寫框架必備技術,但是有嚴重的效能問題,替代方案是JAVA位元組碼技術

    5: nio,“直接記憶體”的特點,使用場景。

    6:JAVA多執行緒,同步非同步。

    7:JAVA各種集合物件的實現原理,可以讓你選擇更加合適的資料結構,hashmap的實現原理,擴容的效能問題。

    8:熟練使用各種資料結構和演算法,陣列、雜湊、連結串列、排序樹...一句話要麼是時間換空間要麼是空間換時間。

    9:熟練使用Linux作業系統,必備。

    10:TCP協議,三次握手和四次握手,不瞭解的話,無法對高併發網路做最佳化;熟悉HTTP協議,尤其是HTTP頭,明白session和cookie的宣告週期以及他們之間的關聯。

    11:系統叢集、負載均衡、反向代理、動靜分離,網站靜態化

    12:分散式儲存系統nfs,fastdfs,tfs,hadoop瞭解他們的優缺點,適用場景。

    13:分散式快取技術memcached, redis,提高系統性能必備,把硬碟上的內容放到記憶體裡來提速,演算法是一致性hash

    14: 工具nginx必備技能超級好用,高效能,基本上不會掛掉的伺服器,功能多多,解決各種問題。

    15:資料庫設計能力,mysql必備,基本的引數最佳化,慢查詢日誌分析,主從賦值的配置;其他的nosql資料庫如mongodb

    16: 中介軟體。如訊息推送,可以先把訊息寫入資料庫,推送放到佇列伺服器上,由推送伺服器區佇列獲取處理,這樣就可以將訊息放資料庫和佇列裡後直接給使用者反饋,推送過程則由推送伺服器和對壘伺服器完成,非同步處理、環節伺服器壓力,解耦系統。

    想成為架構師不是懂了一大堆技術就可以了,這些是解決問題的基礎、是工具,不懂這些怎麼去提解決方案呢?這是成為架構師的必要條件。

      架構師還要針對業務特點、系統的效能要求提出能解決問題成本最低的設計方案才合格,人家一個幾百人使用者的系統,訪問量不大,資料量小,你給人家上叢集、上分散式儲存、上高階伺服器,為了架構而架構,這是最扯淡的,架構師的作用就是第一滿足業務需求,第二最低的硬體網路成本和技術維護成本。

      架構師還要根據業務發展階段,提前預見發展到下一個階段系統架構的解決方案,並且設計當前架構時將架構的升級擴充套件考慮進去,做到易於升級;否則等系統瓶頸來了,出問題了再去出方案,或現有架構無法擴充套件直接扔掉重做,或擴充套件麻煩問題一大堆,這會對企業造成損失;

  • 中秋節和大豐收的關聯?
  • 懷孕的大母牛拉稀怎麼辦?