05.24 架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

架構師這個職位的定位來自於哪裡?我不知道,但是現在的website的爆發式的增長,導致了很多大中型的網絡公司對架構師的迫切需求,架構師到底是幹嗎的呢?這個職位的職責又是什麼呢?

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

架構師思考的是全局的東西,是如何組織系統,以達到業務要求、性能要求。架構師要針對業務特點、系統的性能要求提出解決問題成本最低的設計方案。為了架構而架構,這是絕對不可取的。你想啊,人家一個幾百人用戶的系統,訪問量不大,數據量也不大,你給人家上集群、分佈式儲存、高端服務器,肯定能到達性能要求,但是成本高啊。要知道,架構師的作用,一是滿足業務需求,二是最低的硬件網絡成本和技術維護成本。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

架構師應該是一個代碼能力強的人,在同伴們遇到技術棘手的問題時,能夠挺身而出,來為同伴解決問題。來讓項目以正常的速度進展。所以一個好的架構師應該是一個代碼技術牛人。這個人在關鍵時刻,對整個項目的進展速度會提供很大的幫助。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

分佈式和集群是架構師應該知道的,對於大型的系統,擁有著較大的用戶群體,每天有數以億計的用戶在訪問服務器,這樣對服務器的壓力是很大的,如果一旦拓機,會給用戶和公司造成巨大損失,也會對用戶帶來很差的用戶體驗,從而對該產品失去信息,導致客戶流失。所以擁有一個分佈式的集群化的服務體系是必要的,分佈式集群化應該是可擴展的相互獨立的,每一個機器的拓機都不會對整體造成影響。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

互聯網行業是當前最激動人心的行業之一,很多的創新都來自於這個行業,而每一個大型的網站如Google,Yahoo,Myspace等都需要解決一個非常複雜的問題,就是網站的分佈式向外擴展(Scale Out)的問題。解決這個問題,需要最優秀的架構師對業務進行剖析,利用軟硬件將網站進行重構,甚至根據業務研發相應的分佈式技術,解決網站複雜的分佈式計算的問題。如果你想在這個行業中成為一名架構師的話,需要至少掌握網絡知識,硬件,軟件,網站優化等方方面面的知識:

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

網絡知識

當前的軟件已經絕對不是那種僅僅跑在一臺單機上的孤立應用了。不僅僅是在互聯網行業,任何一個行業的軟件,都要求其具有網絡功能。因此,網絡知識是架構師必備的知識。我們所說的網絡知識,不僅僅包括TCP/IP,http等互聯網行業常用的軟件協議,也包括網絡規劃,甚至更具體的說,根據網站應用所處的地理環境進行網絡規劃。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

硬件知識

瞭解硬件的極限,是架構師的基本功。我見過一些人,他們的眼中軟件硬件都是沒有極限的,需要資源就申請,系統性能下降了就買更高級的設備。然而,硬件的性能有很大一部分取決於I/O設備。而這些I/O設備依靠的都是機械物理運動,這種運動是有極限的。因此當資源訪問量增大到一定的程度時,這種物理運動將成為瓶頸。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

軟件知識

軟件知識所包含的範圍就更加廣泛了。對於互聯網行業來講,架構師要了解操作系統,數據庫,應用服務器等各方面的知識。比如說,如果網站使用的操作系統是Linux,就要了解這個Linux版本的性能與侷限性,比如說最多可以存放的單個文件為多大。有的數據庫的數據是以單個文件來存放的,雖然我們很少見到數據庫中的數據多到不能再放入一條記錄的情況,但是作為架構師,請時刻注意,這種可能性是有的。而且如果你有幸在一家高速成長的互聯網企業中,而你所負責的應用又沒有經過優化的話,可能你會很快見到這種現象。這種現象的發生可能是由於操作系統不支持大文件的原因,也可能是數據庫不支持大文件。不論如何,架構師應該在這種現象發生之前就把一切都準備好。

架構師到底要做什麼,他們需要掌握些什麼?你知道嗎?

那麼模擬到底準備好了嗎?(尚學堂)


分享到:


相關文章: