-
第一種流行過的架構(gòu):
比如說,現(xiàn)在的目標(biāo)是開發(fā)一個自主品牌的mp3播放器载绿,那么就需要懂硬件,比如單片機(jī)油航、傳感器崭庸、聲音設(shè)備,再利用匯編或者c語言來對該電子系統(tǒng)編寫相應(yīng)的程序谊囚。
-
在計(jì)算機(jī)發(fā)明初期怕享,幾乎大部分應(yīng)用程序都是直接針對硬件來編寫的,而這樣的應(yīng)用程序基本不能通用镰踏,所以出現(xiàn)了操作系統(tǒng)函筋。目前市場上流通的大部分軟件都是工作在操作系統(tǒng)上的。如圖:
編寫這樣的應(yīng)用程序需要了解硬件奠伪,了解操作系統(tǒng)跌帐,并且能夠使用c,c++,VB,等編程語言調(diào)用操作系統(tǒng)SDK完成軟件功能。由操作系統(tǒng)去跟硬件系統(tǒng)打交道绊率,這樣對于開發(fā)人員的要求降低了很多含末,同時應(yīng)用程序的通用性會變得更好。
-
再看第三種架構(gòu):
隨著計(jì)算機(jī)軟件的發(fā)展即舌,我們發(fā)現(xiàn)很多軟件都是在和數(shù)據(jù)打交道佣盒,用戶數(shù)據(jù)需要記錄到系統(tǒng)中,同時應(yīng)該能快速的檢索數(shù)據(jù)顽聂,因此在單機(jī)應(yīng)用中出現(xiàn)了數(shù)據(jù)庫這么一類應(yīng)用程序肥惭。在需要存儲數(shù)據(jù),搜數(shù)據(jù)紊搪,以及對數(shù)據(jù)加工處理統(tǒng)計(jì)的時候可以把這些工作交給數(shù)據(jù)庫去處理蜜葱。
-
第四種架構(gòu):
這個是c/s應(yīng)用程序架構(gòu),這里的客戶端架構(gòu)與第三張圖的單機(jī)類似耀石,唯一不同的是在數(shù)據(jù)的來源上做出了改變牵囤。原本的單機(jī)應(yīng)用程序數(shù)據(jù)存儲在本地,但是一個軟件系統(tǒng)如果有很多人使用多個客戶端連接的時候,那么解決方案就是讓數(shù)據(jù)通過網(wǎng)絡(luò)對客戶端提供數(shù)據(jù)服務(wù)揭鳞。
但是直接通過客戶端遠(yuǎn)程連接數(shù)據(jù)庫是不安全的炕贵。
因此出現(xiàn)了server,通過服務(wù)器程序來操作數(shù)據(jù)庫,客戶端程序只能旋轉(zhuǎn)與服務(wù)器交互野崇,所有的業(yè)務(wù)操作由服務(wù)端完成称开,這種模式就是c/s架構(gòu)。
完成c/s架構(gòu)所需知識比單機(jī)應(yīng)用的架構(gòu)難度大很多乓梨,不僅要懂得單機(jī)應(yīng)用開發(fā)所需知識鳖轰,還需要掌握網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),以及web服務(wù)扶镀,socket服務(wù)等技術(shù)蕴侣。 -
c/s架構(gòu)應(yīng)用程序存在一些缺點(diǎn):需要更新所有已安裝的客戶端版本,而且會出現(xiàn)多個版本并存的情況臭觉,后期維護(hù)代價極大睛蛛。
因?yàn)檫@樣的原因,就出現(xiàn)了B/S架構(gòu)的軟件胧谈。如圖:
此架構(gòu)的服務(wù)器端與第四張的服務(wù)器端基本一致。主要區(qū)別是B/S架構(gòu)的程序不需要安裝客戶端程序荸频,而是使用瀏覽器作為前端來交互的菱肖。一些成熟的解決方案:java的javaee架構(gòu),微軟的asp.net架構(gòu)旭从,完全開源的lamp架構(gòu)稳强。
這樣架構(gòu)的優(yōu)點(diǎn)在于因?yàn)榇嬖诖罅砍墒斓慕鉀Q方案,只需要一臺可連網(wǎng)的服務(wù)器和悦,就可以讓整個系統(tǒng)運(yùn)轉(zhuǎn)起來退疫。開發(fā)速度開,運(yùn)營成本低鸽素。 -
從2010年以后褒繁,智能手機(jī)在國內(nèi)大量普及,幾年時間誕生了數(shù)百萬的App與手機(jī)游戲馍忽,往往一個項(xiàng)目擠擁有網(wǎng)站又擁有獨(dú)立的App棒坏,而且作為一個整體的系統(tǒng),ios遭笋,安卓坝冕,與網(wǎng)頁的數(shù)據(jù)是一致的。
那么要做到這樣的架構(gòu)設(shè)計(jì)瓦呼,得讓ios喂窟、安卓客戶端共用我們的服務(wù)端。如圖:
-
在移動互聯(lián)網(wǎng)時代,經(jīng)常會涉及到自己的平臺與第三方平臺的交互磨澡,比如碗啄,支付寶、微信钱贯、微博等挫掏。如圖:
與第三方的交互,需要通過服務(wù)器發(fā)起請求調(diào)用第三方的API秩命,并且為第三方的平臺保留回調(diào)的接口尉共。
- 處理功能需求外,還有質(zhì)量需求弃锐。比如袄友,網(wǎng)站的負(fù)載能力,網(wǎng)絡(luò)并發(fā)連接數(shù)霹菊,系統(tǒng)的數(shù)據(jù)吞吐量剧蚣,項(xiàng)目是否具有擴(kuò)容能力等。這樣就帶出了旋廷,當(dāng)今流行的架構(gòu)鸠按,分布式集群架構(gòu)
第一張圖的重點(diǎn)在后端,其他架構(gòu)都是單機(jī)架構(gòu)饶碘。任務(wù)量增大時目尖,第一個辦法是升級配置,但是最后的cpu扎运,最大的內(nèi)存條也是有限度的瑟曲。而處理無限增大的任務(wù)的辦法是,加機(jī)器豪治,這就是集群的意思洞拨。不同的環(huán)節(jié)用不同的機(jī)器來處理,比如:管理负拟、數(shù)據(jù)烦衣、測試、產(chǎn)品掩浙。這就是分布式琉挖。一個人干不完的活,讓其他人分工協(xié)作就是分布式集群架構(gòu)的含義涣脚。受人敬仰的架構(gòu)師就是這類架構(gòu)師示辈。
第二張圖的重點(diǎn)在前端,所畫的是市面上流行的混合APP的架構(gòu)遣蚀。支付寶矾麻、facebook都是著名的混合APP應(yīng)用纱耻。
混合app使用html、css打造用戶界面险耀,無論瀏覽器弄喘、微信端、還是app中甩牺。因此他在服務(wù)器跟新內(nèi)容蘑志,可以讓ios、安卓贬派、瀏覽器保存高度一致急但。
day10--軟件架構(gòu)的變遷
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匣椰,“玉大人裆熙,你說我怎么就攤上這事∥炎Γ” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵齐媒,是天一觀的道長蒲每。 經(jīng)常有香客問我,道長喻括,這世上最難降的妖魔是什么邀杏? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮唬血,結(jié)果婚禮上望蜡,老公的妹妹穿的比我還像新娘。我一直安慰自己拷恨,他們只是感情好脖律,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腕侄,像睡著了一般小泉。 火紅的嫁衣襯著肌膚如雪芦疏。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼酪穿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了界逛?” 一聲冷哼從身側(cè)響起昆稿,我...
- 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎息拜,沒想到半個月后溉潭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡少欺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年喳瓣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赞别。...
- 正文 年R本政府宣布崎页,位于F島的核電站鞠绰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏飒焦。R本人自食惡果不足惜蜈膨,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望牺荠。 院中可真熱鬧翁巍,春花似錦、人聲如沸休雌。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽杈曲。三九已至例朱,卻和暖如春孝情,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洒嗤。 一陣腳步聲響...
- 正文 我出身青樓羔挡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親间唉。 傳聞我的和親對象是個殘疾皇子绞灼,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)呈野,斷路器低矮,智...
- //我所經(jīng)歷的大數(shù)據(jù)平臺發(fā)展史(三):互聯(lián)網(wǎng)時代 ? 上篇http://www.infoq.com/cn/arti...
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- 大家好,我是江君被冒,我是一個視頻制作教程向的up主军掂,特來給大家安利一波我的教程???!(??????)?? prem...