摘要:?jiǎn)误w架構(gòu)簡(jiǎn)介經(jīng)典的層模型,即表示層業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層??跀?shù)據(jù)訪問(wèn)層用于操作數(shù)據(jù)庫(kù),用戶在表示層會(huì)產(chǎn)生大量的數(shù)據(jù),通過(guò)數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫操作。
1.1.1 單體架構(gòu)簡(jiǎn)介
經(jīng)典的 3 層模型,即表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。
口 表示層: 用于直接和用戶交互,也稱為交互層,通常是網(wǎng)頁(yè)、 UI 等。
口 業(yè)務(wù)邏輯層:即業(yè)務(wù)邏輯處理層,例如用戶輸入的信息要經(jīng)過(guò)業(yè)務(wù)邏輯層的處理后, 才能展硯給用戶。
口 數(shù)據(jù)訪問(wèn)層: 用于操作數(shù)據(jù)庫(kù),用戶在表示層會(huì)產(chǎn)生大量的數(shù)據(jù),通過(guò)數(shù)據(jù)訪問(wèn)層對(duì) 數(shù)據(jù)庫(kù)進(jìn)行讀寫操作。
在一個(gè)小型應(yīng)用的初始階段,訪問(wèn)量較小,應(yīng)用只需要一臺(tái)服務(wù)器就能夠部署所有的資源,例如將應(yīng)用程序、數(shù)據(jù)庫(kù)、文件資源等部署在同一臺(tái)服務(wù)器上。采用這種架構(gòu)的性價(jià)比是非常高的,開(kāi)發(fā)速度快,開(kāi)發(fā)成本 低,只需要一臺(tái)廉價(jià)的服務(wù)器。
口 業(yè)務(wù)越來(lái)越復(fù)雜,單體應(yīng)用的代碼量越來(lái)越大,代碼的可讀性、可維護(hù)性和可擴(kuò)展性下降,新人接手代碼所需的時(shí)間成倍增加,業(yè)務(wù)擴(kuò)展帶來(lái)的代價(jià)越來(lái)越大。
口 隨著用戶越來(lái)越多,程序承受的并發(fā)越來(lái)越高,單體應(yīng)用的并發(fā)能力有限。
口 測(cè)試的難度越來(lái)越大,單體應(yīng)用的業(yè)務(wù)都在同一個(gè)程序中,隨著業(yè)務(wù)的擴(kuò)張、復(fù)雜度 的增加,單體應(yīng)用修改業(yè)務(wù)或者增加業(yè)務(wù)或許會(huì)給其他業(yè)務(wù)帶來(lái)一定的影響,導(dǎo)致測(cè) 試難度增加。
1.1.3 單體架構(gòu)使用服務(wù)器集群及存在的不足口 系統(tǒng)仍然為單體應(yīng)用 , 大量的業(yè)務(wù)必然會(huì)有大量的代碼,代碼的可讀性和可維護(hù)性依 然很差。
口 面對(duì)海量的用戶,數(shù)據(jù)庫(kù)將會(huì)成為瓶頸,解決方案將使用分布式數(shù)據(jù)庫(kù),也就是將數(shù) 據(jù)庫(kù)進(jìn)行分庫(kù)分表。
口 持續(xù)交付能力差,業(yè)務(wù)越復(fù)雜,代碼越多,修改代碼和添加代碼所需的時(shí)間越長(zhǎng)。新 人熟悉代碼的時(shí)間長(zhǎng)、成本高。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/69585.html
摘要:微服務(wù)的復(fù)雜度框架知識(shí)服務(wù)于服務(wù)通信服務(wù)與服務(wù)之間相互依賴。服務(wù)的部署可選用。指服務(wù)的可用性。微服務(wù)系統(tǒng)通常是一個(gè)系統(tǒng),即同時(shí)滿足了可用性和分區(qū)容錯(cuò)。兩階段提交,將事務(wù)分成兩部分能夠大大提高分布式事務(wù)成功的概率。 主要體現(xiàn)在如下方面。 微服務(wù)的復(fù)雜度(框架知識(shí)、服務(wù)于服務(wù)通信、服務(wù)與服務(wù)之間相互依賴)。 分布式事務(wù)(重點(diǎn))。 服務(wù)的劃分(業(yè)務(wù)場(chǎng)景劃分邊界,最好無(wú)耦合,都能單獨(dú)運(yùn)行和替...
摘要:微服務(wù)的設(shè)計(jì)原則軟件設(shè)計(jì)每一個(gè)版本都在變化,所以軟件設(shè)計(jì)應(yīng)該是漸進(jìn)式發(fā)展。在微服務(wù)設(shè)計(jì)時(shí),一定要考慮清楚這三個(gè)難題,從而選擇合適的框架。目前比較流行的微服務(wù)框架有社區(qū)的公司的等。微服務(wù)應(yīng)該具備的功能。 微服務(wù)的設(shè)計(jì)原則 軟件設(shè)計(jì)每一個(gè)版本都在變化,所以軟件設(shè)計(jì)應(yīng)該是漸進(jìn)式發(fā)展。 軟件從一開(kāi)始就不應(yīng)該被設(shè)計(jì)成微服務(wù)架構(gòu),微服務(wù)架構(gòu)固然有優(yōu)勢(shì),但是它需要更多的資源,包括服務(wù)器資源、技術(shù)人員...
摘要:熔斷機(jī)制為了防止雪崩效應(yīng)事件的發(fā)生,分布式系統(tǒng)采用了熔斷機(jī)制。為了解決這一難題,微服務(wù)架構(gòu)引入了熔斷機(jī)制。由于微服務(wù)系統(tǒng)是分布式系統(tǒng),服務(wù)與服務(wù)之間沒(méi)有任何的禍合。 1.2.1 什么是微服務(wù) 按業(yè)務(wù)劃分為一個(gè)獨(dú)立運(yùn)行的程序,即服務(wù)單元。 服務(wù)之間通過(guò) HTTP 協(xié)議相互通信。 自動(dòng)化部署。 可以用不同的編程語(yǔ)言。 可以用不同的存儲(chǔ)技術(shù)。 服務(wù)集中化管理。 微服務(wù)是一個(gè)分布式系統(tǒng)。 ...
摘要:口服務(wù)的負(fù)載均衡。服務(wù)的注冊(cè)與發(fā)現(xiàn)接口管理服務(wù)注冊(cè)是指向服務(wù)注冊(cè)中心注冊(cè)一個(gè)服務(wù)實(shí)例,服務(wù)提供者將自己的服務(wù)信息如服務(wù)名地址等告知服務(wù)注冊(cè)中心。服務(wù)注冊(cè)中心會(huì)提供服務(wù)的健康檢查方案,檢查被注冊(cè)的服務(wù)是否可用。服務(wù)降級(jí)的功能。 微服務(wù)具有以下的特點(diǎn)。 口 按照業(yè)務(wù)來(lái)劃分服務(wù),單個(gè)服務(wù)代碼量小,業(yè)務(wù)單一,易于維護(hù)。 口 每個(gè)微服務(wù)都有自己獨(dú)立的基礎(chǔ)組件,例如數(shù)據(jù)庫(kù)、 緩存等,且運(yùn)行在獨(dú)立...
摘要:負(fù)載均衡組件是一個(gè)負(fù)載均衡組件,它通常和配合使用。和配合,很容易做到負(fù)載均衡,將請(qǐng)求根據(jù)負(fù)載均衡策略分配到不同的服務(wù)實(shí)例中。和配合,在消費(fèi)服務(wù)時(shí)能夠做到負(fù)載均衡。在默認(rèn)的情況下,和相結(jié)合,能夠做到負(fù)載均衡智能路由。 2.2.1 簡(jiǎn)介 Spring Cloud 是基于 Spring Boot 的。 Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新 Web 框架, 它主要的特點(diǎn)...
閱讀 927·2021-11-19 11:29
閱讀 3408·2021-09-26 10:15
閱讀 3131·2021-09-22 10:02
閱讀 2502·2021-09-02 15:15
閱讀 2023·2019-08-30 15:56
閱讀 2489·2019-08-30 15:54
閱讀 3035·2019-08-29 16:59
閱讀 704·2019-08-29 16:20