架構師不是一個職業工種,而是一種能力,並且架構師也分不少種,不一樣領域的架構師是不同的.好比互聯網架構師和物聯網架構師,沒有什麼可對比的.
架構要考慮什麼
1.考慮系統能作什麼,不能作什麼,就是常說的系統邊界
2.肯定架構內部的模塊與模塊之間的關係,以及module與外部是什麼關係
3.肯定非功能性須要,架構的可擴展性,可用性,可維護性以及安全性
4.架構肯定之後要可以指導開發人員根據架構思想去設計和演化,確保開發出來的東西和架構的規劃是一致的.
Java系統架構師java
- 系統的技術選型以及可行性評估
- 分佈式技術框架的把控
- 深刻挖掘和分析業務需求,重點模塊的設計,方案的評審與技術支持,技術難點攻關,分佈式系統技術如何落地,撰寫技術方案和系統設計文稿,指導開發人員完成編碼工做
- 針對產品性能和架構優化,確保系統的架構質量
- 優秀的抽象設計能力,思路清晰,善於思考,能獨立分析和解決問題.
具體可能須要掌握如下內容 python
- 熟悉*nix,熟練應用shell/python etc.
- 紮實的java基礎知識,熟悉IO,多線程以及併發編程
- 熟悉掌握緩存,NoSQL,Netty,kafka等中間件技術
- 對JVM原理有紮實理解,對服務端設計與編程有深刻理解,可以進行JVM調優
- 熟悉常見的數據結構,熟悉經常使用的設計模式,深刻理解分佈式算法和主流分佈式系統,熟悉主流消息隊列及其工做原理(sort/index/store/smooth/duplicate removal)
- 有豐富的分佈式,高併發,高負載,高可用性系統設計經驗,熟悉分佈式緩存,消息機制等
大數據架構師算法
- 針對大數據平臺的設計和開發制定數據架構規範,進行核心代碼編寫
- 針對數據基礎架構和數據處理系統進行升級和優化,技術難題攻關,持續提高核心系統性能,保證系統安全高效平穩運行
- 大規模數據實時化,技術容器化,私有云實施技能方案,數據模型規範化等
- 跟蹤大數據相關領域技術趨勢,競品的發展以及技術動態
- 精通或熟練掌握大數據生態的技術和產品:Hive,Storm,Flink,Spark,ELK,Kafka,Zookeeper,Yarn,presto,對spark分佈式計算的底層原理有深刻理解,對複雜系統的性能優化和穩定性有實踐經驗
- 精通或熟練數據倉庫設計,深入理解MR運行原理和機制,能進行任務執行效率優化,熟悉開源數據交換工具:sqoop,Streamset,kettle,datax etc.
- 善於捕捉業務須要,根據須要規劃架構設計,給出相應的解決措施和方法.
- 加分項:數據預測,預警,人工智能,圖像識別,語音智能,物聯網數據收集,標等.線性計算,神經網絡,知識圖譜.
兩者異同:
異:java系統架構師偏重於分佈式,高可用,可併發,容錯等.熟練掌握支撐業務的系統架構或工具集
大數據架構師偏重於人工智能,商業智能,數據挖掘,離線,實時等高效率高可用的結構化數據,半結構化數據.熟悉hadoop生態圈子,使用各類模型組件集來解決問題.
同:降本增效,提升效率,創造價值.shell