day10--軟件架構的變遷

  1. 第一種流行過的架構:


    1575176720.jpg

    比如說,現在的目標是開發一個自主品牌的mp3播放器,那么就需要懂硬件,比如單片機、傳感器、聲音設備,再利用匯編或者c語言來對該電子系統編寫相應的程序。

  2. 在計算機發明初期,幾乎大部分應用程序都是直接針對硬件來編寫的,而這樣的應用程序基本不能通用,所以出現了操作系統。目前市場上流通的大部分軟件都是工作在操作系統上的。如圖:


    983876636.jpg

    編寫這樣的應用程序需要了解硬件,了解操作系統,并且能夠使用c,c++,VB,等編程語言調用操作系統SDK完成軟件功能。由操作系統去跟硬件系統打交道,這樣對于開發人員的要求降低了很多,同時應用程序的通用性會變得更好。

  3. 再看第三種架構:


    1161328679.jpg

    隨著計算機軟件的發展,我們發現很多軟件都是在和數據打交道,用戶數據需要記錄到系統中,同時應該能快速的檢索數據,因此在單機應用中出現了數據庫這么一類應用程序。在需要存儲數據,搜數據,以及對數據加工處理統計的時候可以把這些工作交給數據庫去處理。

  4. 第四種架構:


    236011488.jpg

    這個是c/s應用程序架構,這里的客戶端架構與第三張圖的單機類似,唯一不同的是在數據的來源上做出了改變。原本的單機應用程序數據存儲在本地,但是一個軟件系統如果有很多人使用多個客戶端連接的時候,那么解決方案就是讓數據通過網絡對客戶端提供數據服務。
    但是直接通過客戶端遠程連接數據庫是不安全的。
    因此出現了server,通過服務器程序來操作數據庫,客戶端程序只能旋轉與服務器交互,所有的業務操作由服務端完成,這種模式就是c/s架構。
    完成c/s架構所需知識比單機應用的架構難度大很多,不僅要懂得單機應用開發所需知識,還需要掌握網絡數據庫系統,以及web服務,socket服務等技術。

  5. c/s架構應用程序存在一些缺點:需要更新所有已安裝的客戶端版本,而且會出現多個版本并存的情況,后期維護代價極大。
    因為這樣的原因,就出現了B/S架構的軟件。如圖:


    485804265.jpg

    此架構的服務器端與第四張的服務器端基本一致。主要區別是B/S架構的程序不需要安裝客戶端程序,而是使用瀏覽器作為前端來交互的。一些成熟的解決方案:java的javaee架構,微軟的asp.net架構,完全開源的lamp架構。
    這樣架構的優點在于因為存在大量成熟的解決方案,只需要一臺可連網的服務器,就可以讓整個系統運轉起來。開發速度開,運營成本低。

  6. 從2010年以后,智能手機在國內大量普及,幾年時間誕生了數百萬的App與手機游戲,往往一個項目擠擁有網站又擁有獨立的App,而且作為一個整體的系統,ios,安卓,與網頁的數據是一致的。
    那么要做到這樣的架構設計,得讓ios、安卓客戶端共用我們的服務端。如圖:


    1384456116.jpg
  7. 在移動互聯網時代,經常會涉及到自己的平臺與第三方平臺的交互,比如,支付寶、微信、微博等。如圖:


    1507451604.jpg

    與第三方的交互,需要通過服務器發起請求調用第三方的API,并且為第三方的平臺保留回調的接口。

  8. 處理功能需求外,還有質量需求。比如,網站的負載能力,網絡并發連接數,系統的數據吞吐量,項目是否具有擴容能力等。這樣就帶出了,當今流行的架構,分布式集群架構
    618407791.jpg

    63033533.jpg

    第一張圖的重點在后端,其他架構都是單機架構。任務量增大時,第一個辦法是升級配置,但是最后的cpu,最大的內存條也是有限度的。而處理無限增大的任務的辦法是,加機器,這就是集群的意思。不同的環節用不同的機器來處理,比如:管理、數據、測試、產品。這就是分布式。一個人干不完的活,讓其他人分工協作就是分布式集群架構的含義。受人敬仰的架構師就是這類架構師。
    第二張圖的重點在前端,所畫的是市面上流行的混合APP的架構。支付寶、facebook都是著名的混合APP應用。
    混合app使用html、css打造用戶界面,無論瀏覽器、微信端、還是app中。因此他在服務器跟新內容,可以讓ios、安卓、瀏覽器保存高度一致。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,701評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,691評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,974評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,694評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,026評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,193評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,719評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,442評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,668評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,846評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,255評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,592評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,394評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容