架構(gòu)·Client-Server

1兴蒸、目錄

  • 概述
  • 兩層架構(gòu)
  • 三層架構(gòu)
  • MVC 架構(gòu)

2、概述

一個聯(lián)網(wǎng)應(yīng)用程序總是分布在兩個或多個主機之間掀泳,這就衍生了我們該如何在多個主機之間劃分功能的問題月幌。

我們從兩個方面關(guān)注該問題:
1碍讯、技術(shù)推理。
2飞醉、組織如何管理其網(wǎng)絡(luò)計算基礎(chǔ)架構(gòu)和聯(lián)網(wǎng)應(yīng)用程序冲茸。

3、兩層架構(gòu)

有兩個基本的替代方案如下圖所示缅帘,C/S 架構(gòu)P2P 架構(gòu)轴术。

*C/S 架構(gòu) 與 P2P 架構(gòu)

3.1、 C/S 架構(gòu)

C/S 應(yīng)用程序 一部分是由 以與客戶端或用戶交互為基礎(chǔ)的主機钦无,另一部分主機則是專門用于管理大型數(shù)據(jù)存儲庫逗栽,處理應(yīng)用特有的數(shù)據(jù)和邏輯的服務(wù)器。

這給 C/S 架構(gòu)引入了不對稱的功能性失暂,客戶端需要向服務(wù)端發(fā)起請求彼宠,而服務(wù)端需要滿足(答復(fù))客戶端的請求。C/S 架構(gòu)適合應(yīng)用于在服務(wù)器上發(fā)布的信息管理應(yīng)用程序弟塞。OLTP 應(yīng)用則是傳統(tǒng)的 C/S 架構(gòu)中的良好示例凭峡。

3.2、P2P 架構(gòu)

這是 C/S 架構(gòu)的替代架構(gòu)决记,P2P架構(gòu)不設(shè)立服務(wù)端摧冀,只有客戶端。這種架構(gòu)對于一些去中心化的即時通信應(yīng)用是有吸引力的系宫。P2P 很適用于語音或視頻會議的場景索昂。P2P 的很明顯的特征是功能的對稱性。

一般來說扩借,可以將C/S和P2P架構(gòu)混合在一起椒惨。舉例,許多直接即時通訊社交應(yīng)用涉及信息管理和多用戶交互方面潮罪。一個客戶端主機可以同時作為 Client 或 Peer康谆,這取決于該主機在應(yīng)用程序的角色定義。

4嫉到、三層架構(gòu)

二層結(jié)構(gòu)無法識別包含關(guān)鍵數(shù)據(jù)庫一類的特殊需求沃暗,典型的例子是 OLTP。希望將這些關(guān)鍵任務(wù)數(shù)據(jù)庫集成到C / S應(yīng)用程序中屯碴,而不會犧牲其期望的質(zhì)量瓶蝴。

下面將展示三層的 C/S 架構(gòu):

  • 第一層:客戶端(用戶)泼疑。
  • 第二層:服務(wù)端(用于存放應(yīng)用程序的邏輯)遥倦。
  • 第三層:數(shù)據(jù)庫(不同的應(yīng)用程序所需要的共享數(shù)據(jù))管挟。
三層的 C/S 架構(gòu)

這種3層架構(gòu)的動機包括:

  • 表現(xiàn):專注于單個用戶
  • 應(yīng)用程序邏輯:支持多用戶,通過添加多臺服務(wù)器來支持更多用戶的成本是較低的今艺。
  • 關(guān)鍵共享數(shù)據(jù):支持多個應(yīng)用程序韵丑。

這三層的 C/S 架構(gòu)字啊每層之間都是n…1的關(guān)系。顯然三層架構(gòu)比兩層架構(gòu)具備更高的擴展性虚缎,向客戶端隱藏的異構(gòu)數(shù)據(jù)庫支持以及提供了不同的通信協(xié)議的更好支持撵彻。

5、MVC 架構(gòu)

模型 - 視圖 - 控制器(MVC)應(yīng)用程序架構(gòu)是用于分析分布式應(yīng)用程序的功能的流行模型实牡。這種抽象有助于將應(yīng)用程序分解成邏輯組件陌僵,以實現(xiàn)更容易/更清晰的分布式實現(xiàn)。

MVC 劃分在監(jiān)視和處理數(shù)據(jù)中涉及的對象之間的功能创坞,以便最小化這些對象之間的耦合度碗短,并因此將這些對象映射在多層架構(gòu)上。

最初 MVC 用戶解耦:輸入题涨、數(shù)據(jù)處理偎谁、輸出 UI 界面。但是纲堵,將此模型映射到多層網(wǎng)站或企業(yè)應(yīng)用程序也很簡單巡雨。

MVC
  • 模型(Model):操作數(shù)據(jù)。

當 Model 層數(shù)據(jù)變更時通知 View 席函。
它允許 Controller 訪問 Model 封裝的方法铐望。

  • 視圖(View):將 Model 提供的內(nèi)容渲染出來。

它可以查詢Model關(guān)于數(shù)據(jù)的模型并指定如何呈現(xiàn)它向挖。

  • 控制器(Controller):定義應(yīng)用程序的行為蝌以。

它將用戶手勢映射到要由Model執(zhí)行的操作。在標準的 GUI 客戶端何之,用戶手勢可以是按壓按鈕跟畅。在 Web 環(huán)境,它可以是發(fā)起一次 HTTP GET/POST 請求溶推。通常一個Controller徊件,表示一組相關(guān)的功能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒜危,一起剝皮案震驚了整個濱河市虱痕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辐赞,老刑警劉巖部翘,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異响委,居然都是意外死亡新思,警方通過查閱死者的電腦和手機窖梁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夹囚,“玉大人纵刘,你說我怎么就攤上這事≥┯矗” “怎么了假哎?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鞍历。 經(jīng)常有香客問我舵抹,道長,這世上最難降的妖魔是什么劣砍? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任掏父,我火速辦了婚禮,結(jié)果婚禮上秆剪,老公的妹妹穿的比我還像新娘赊淑。我一直安慰自己,他們只是感情好仅讽,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布陶缺。 她就那樣靜靜地躺著,像睡著了一般洁灵。 火紅的嫁衣襯著肌膚如雪饱岸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天徽千,我揣著相機與錄音苫费,去河邊找鬼。 笑死双抽,一個胖子當著我的面吹牛百框,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播牍汹,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼铐维,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慎菲?” 一聲冷哼從身側(cè)響起嫁蛇,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎露该,沒想到半個月后睬棚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年抑党,在試婚紗的時候發(fā)現(xiàn)自己被綠了空盼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡新荤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出台汇,到底是詐尸還是另有隱情苛骨,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布苟呐,位于F島的核電站痒芝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏牵素。R本人自食惡果不足惜严衬,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笆呆。 院中可真熱鬧请琳,春花似錦、人聲如沸赠幕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榕堰。三九已至竖慧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逆屡,已是汗流浹背圾旨。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留魏蔗,地道東北人砍的。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像莺治,于是被迫代替她去往敵國和親挨约。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理产雹,服務(wù)發(fā)現(xiàn)诫惭,斷路器,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • //我所經(jīng)歷的大數(shù)據(jù)平臺發(fā)展史(三):互聯(lián)網(wǎng)時代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語閱讀 51,227評論 10 200
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,185評論 25 707
  • 從三月份找實習(xí)到現(xiàn)在蔓挖,面了一些公司夕土,掛了不少,但最終還是拿到小米、百度怨绣、阿里角溃、京東、新浪篮撑、CVTE减细、樂視家的研發(fā)崗...
    時芥藍閱讀 42,255評論 11 349
  • 感覺成功離我很近,近到觸手可及赢笨,只差我伸手即可得到未蝌。 感覺成功離我很遠,遠到遙不可及茧妒,即使我奮不顧身萧吠、飛蛾撲火、欲...
    寅夕閱讀 173評論 0 0