Java從入門到架構師|高並發|高效能|高可用|分布式|效能調優|設計模式|大型電商項目

來源:互聯網
上載者:User

標籤:cached   伸縮性   jfinal   廣度   img   ssm   ESS   目標   效能調優   

沒有設計的思想,你就不能成為一名架構師。架構師是一個能擼的了一手好代碼,畫的了一個漂亮的UML/原型,寫的了一篇技術文檔,更加能解決好項目關鍵技術的綜合人才。架構師=前端工程師+後端程式員+系統分析師+關鍵技術解決+各種技術搭配+設計模式+部署調優+其他,可見架構師是多面手,在項目當中起到串連管理與項目成員的重要角色。因此,在通往大神級的架構師的道路上,你需要懂需求、設計、代碼、部署、架構、伺服器、營運、調優等等。

簡單系統架構圖

一個能擔負起企業級應用的架構師,腦海裡常出現的詞會是這些:負載平衡、叢集、分布式、高並發、高可用、易管理等等,粗略說來,應具備以下知識技能:

(1)資料層:重點在於叢集方案的選擇,比如MySQL叢集,叢集方案很多,需要選擇符合業務的方案,比如多主,主備,讀寫分離等等,是否還需要做高可用,是用lvs,還是zookeeper,是否需要例如mycat類中介軟體來管理資料庫或者做資料分區等等。

(2)服務層:時髦一點,選擇dubbo,微服務讓團隊開發耦合度沒有那麼高,各自關心各自的模組,都以服務方式發布出去。傳統一點用springmvc+restful,在我看來,對於並發不高的系統,沒有必要用dubbo。緩衝的選擇,涉及到檔案快取、資料庫緩衝,可以用memcached、ehcache、redis。

(3)應用程式層:架構太多,ssh,ssm,jfinal等等,選擇適合項目團隊的架構;UI介面,h5很美觀,但對於瀏覽器的相容就把開發人員搞哭了,可以選擇成熟的ext或者easyui。

(4)網路層:多數開發人員都不用涉及,能瞭解下f5之類的就好。

(5)部署:是否需要用docker來部署,開源docker容器讓部署輕量化,很容易就可以擴充一個節點,對於高並發、伸縮性要求高的情境可以使用。docker的出現,完全可以實現一鍵部署。是否需要負載平衡,可以選擇硬負載(就是前面說的f5),也可以用軟負載(nginx)。軟負載的方案簡單一點可以是apache+tomcat,需要考慮session複製,複雜一點選擇lvs+haproxy。打包發布,熟練使用maven,能建立自己的maven私服,能指導項目成員使用maven打包發布。

(6)安全:大多數安全在網路層就解決了,但應用的安全不容忽視,比如需要考慮SQL注入,授權認證,這些目前架構都能解決,重點的安全問題來自架構本身,大多數應用選擇架構都是開源的,如果團隊沒有能力修複漏洞只能等更新。

(7)其它方面:測試(自動化測試),版本管理(git or svn),大資料(奇熱無比),人工智慧(高大上)等等。

有人問,架構師為什麼還要寫代碼?我認為,需要一如既往的寫,但寫的目標不一樣,理論水平和動手能力需要同時提高。深度方面,注重的設計思想和模式;廣度方面,對於前沿技術,要不懈的追求和鑽研,這樣才能在未來技術架構選型做出合理的決策。

 

Java從入門到架構師|高並發|高效能|高可用|分布式|效能調優|設計模式|大型電商項目

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。