閱讀架構漫談筆記

閱讀架構漫談筆記

本次主要針對閱讀架構漫談整理筆記,作者圍繞軟件架構,從起源、定義、原因等多方面來論述,我從中得到一定的啓發,下面主要針對五個問題來進行筆記整理。

問題一:什麼是架構

對於什麼是架構,有很多的爭論,每個人都有自己的理解。甚至於很多架構師一說架構,就開始談論什麼應用架構、硬件架構、數據架構等;在Wikipedia上,架構的定義爲:Architecture (Latin architectura, from the Greek ἀρχιτέκτων arkhitekton"architect"from ἀρχι- "chief" and τέκτων "builder") is both the process and the product of planning, designing, and constructing buildings and other physical structures;意思是(拉丁語結構建築,from the希臘ρχιτέκτωνarkhitekton“建築師”,從ρχι“首席”和“建設者”τέκτων)is both the process and the product of規劃、設計和建設,建築和其他物理結構。從定義出發結合實際,架構實際上①根據待解決問題,對目標系統邊界進行界定②對目標系統按照某個原則進行切分③對於切分出來的部分設立溝通機制④保證各個部分之間能夠聯繫,合併組裝成爲一個整體,完成一定工作。這就是架構,與其他各行各業存在一定的相通之處。

問題二:爲什麼要出現架構

從起源上看,架構隨着建築很早就出現了,在不同行業也有一定的相通之處;針對某一個需要人執行的工作,由於每個人的時間與能力有限,而人們又想要提供系統的整體質量,這是每個人之間就有了相互的影響,如何提高個人的效率,這時就出現了架構。其實架構是人類發展過程中,由懵懵懂懂的,被動的去認識這個世界,變成主動的去認識,並以更高的效率去改造這個世界的方法

問題三:架構解決誰的問題

從根本上講,架構解決人的問題;在實際情況下,軟件其實是把現實生活模擬到計算機中,並且在計算機硬件中運行起來。從這裏可以分爲兩類:①業務問題:找到問題的主體,他需要解決什麼問題,問什麼會提出這個問題等②計算機問題:如何把現實生活用軟件來模擬;

模擬出來的軟件,需要哪些硬件設施才能夠滿足要求;當訪問量越來越大的時候,軟件能否支持硬件慢慢長大,性能線性擴展;因爲硬件是可能會失效的,軟件如何在硬件失效的情況下,仍然能夠保證可用性,讓用戶能夠不中斷的訪問軟件提供的服務;怎麼收集軟件產生的數據,爲下一階段的工作提供依據等等這些是計算機問題,也是需要考慮的。

問題四:什麼是軟件體系結構

對於架構已經有了一定的瞭解,當架構涉及到軟件本身的業務體系,就轉變到軟件體系架構層面;①軟件因爲流量增大而分拆成不同的運行單元,在不同的機器上部署所形成的架構,屬於軟件架構。②每個運行單元爲了讓不同角色的人,比如前端,業務,數據存儲等能夠並行工作,所分成的代碼架構,也屬於軟件架構。由上可知,當我們說軟件架構的時候,我們一定要講清楚,究竟說的是部署的架構,還是代碼的架構。軟件架構的落地,需要軟件的組織架構和流程來保障。架構是進化出來的,架構實際上是在量不斷的增大,超過了單臺服務器的容量,逐漸的分拆,同時導致超過單個人員的能力,工作人員不斷的增多,工作內容不斷的分拆形成的,這本身就是架構的意義所在。

問題五:架構師是什麼

針對架構師,可能會經常提到,但其意義沒有我們想象那麼簡單。當我們所做的工作是處於社會的分工的一環,需要幫助別人解決問題,並且按時解決別人的問題成爲我們自己的問題的時候,我們就有了時間壓力,潛意識裏會自然而然的有一種對時間的恐懼。這個恐懼在潛意識裏面會想方設法推動我們採用各種手段,以便及時的完成工作,換取報酬。甚至會加班加點,不擇手段。如果我們還生活在這個恐懼下面,是不可能成爲架構師的。要成爲架構師,必須要超越這個恐懼才能夠看清楚,我們要解決的是別人的問題,不是自己完成工作的問題。所以,對自己從事的工作有足夠的自信,在自己服務的領域中可以按照要求完成工作,才能成爲一個合格的架構師。架構師的主要任務是發現問題,發現這些問題背後的利益關係;在此基礎之上,平衡自己與他人的利益,對自己所承擔任務瞭然於心,可以在合理的標準下達到任務要求,這也就是架構師的權利和義務所在。

整體來說,架構廣泛存在於各行各業,軟件體系架構有共性也有特點,架構師應該把握這些問題,處理好各方利益關係,保證任務可以按時按量完成。所以,體系架構在軟件整個週期中佔有非常重要的地位。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章