尚籌網(wǎng)-10.架構(gòu)介紹

1 項(xiàng)目架構(gòu)

1.1 單一架構(gòu)

  • 描述:一個(gè)項(xiàng)目整體只有一個(gè)工程。
  • 其他名稱(chēng):all in one或“單機(jī)版”

1.2 分布式架構(gòu)

1.2.1 偽分布式

開(kāi)發(fā)時(shí)使用了多個(gè)工程,但在服務(wù)器上運(yùn)行時(shí)只有一個(gè)war包。

1.2.2 真正分布式

2 方法本地調(diào)用和遠(yuǎn)程調(diào)用

2.1 本地調(diào)用

調(diào)用當(dāng)前項(xiàng)目?jī)?nèi)部的方法,調(diào)用過(guò)程沒(méi)有經(jīng)過(guò)網(wǎng)絡(luò)。

2.2 遠(yuǎn)程調(diào)用

通過(guò)網(wǎng)絡(luò)調(diào)用另外一個(gè)工程里的另一個(gè)方法。

2.3 實(shí)現(xiàn)方法遠(yuǎn)程調(diào)用的技術(shù)

2.3.1 WebService

WebService不是一個(gè)具體的技術(shù),而是一系列方法遠(yuǎn)程調(diào)用技術(shù)的統(tǒng)稱(chēng)。

2.3.2 Dubbo+Zookeeper

Dubbo是阿里開(kāi)發(fā)的一款RPC框架——底層基于RPC(遠(yuǎn)程過(guò)程調(diào)用)的方法遠(yuǎn)程調(diào)用和服務(wù)治理框架。

Zookeeper 是 Apacahe Hadoop 的子項(xiàng)目,是一個(gè)樹(shù)型的目錄服務(wù),支持變更推送,適合作為 Dubbo 服務(wù)的注冊(cè)中心,工業(yè)強(qiáng)度較高,可用于生產(chǎn)環(huán)境,并推薦使用。

在分布式架構(gòu)體系中Dubbo扮演了服務(wù)治理框架的角色,Zookeeper扮演了服務(wù)注冊(cè)中心的角色。

2.3.3 SpringBoot+SpringCloud

2.4 方法遠(yuǎn)程調(diào)用的意義

2.4.1 對(duì)項(xiàng)目?jī)?nèi)部來(lái)說(shuō)

讓我們能夠?qū)崿F(xiàn)分布式架構(gòu)。

2.4.2 對(duì)項(xiàng)目外部來(lái)說(shuō)

讓我們能夠調(diào)用外部的第三方接口。

3 分布式架構(gòu)的優(yōu)缺點(diǎn)

3.1 優(yōu)點(diǎn)

3.1.1 模塊化、組件化程度更高

讓項(xiàng)目更容易開(kāi)發(fā)、維護(hù)和分工。也是高內(nèi)聚、低耦合的一種體現(xiàn)。

3.1.2 提升性能

需要用到分布式架構(gòu)的項(xiàng)目往往是訪問(wèn)量很大的互聯(lián)網(wǎng)項(xiàng)目。

  • 集群[同構(gòu)]:多個(gè)服務(wù)器上運(yùn)行相同的模塊
  • 分布式[異構(gòu)]:多個(gè)服務(wù)器上運(yùn)行不同的模塊

3.2 缺點(diǎn)

相對(duì)于單一架構(gòu)結(jié)構(gòu)更復(fù)雜,部署更復(fù)雜,同時(shí)存在數(shù)據(jù)不一致問(wèn)題,需要通過(guò)分布式事務(wù)解決。

4 服務(wù)

4.1 接口

對(duì)外暴露具體功能的接口已經(jīng)包括了外部調(diào)用時(shí)所需要的全部信息,所以這個(gè)接口就成了整個(gè)功能的代表。

所以在團(tuán)隊(duì)交流時(shí)就使用接口指代整個(gè)工程。

  • “寫(xiě)接口”:開(kāi)發(fā)接口代表的工程。
  • “調(diào)接口”:調(diào)用接口代表的工程。

4.2 服務(wù)

和操作系統(tǒng)提供的“守護(hù)進(jìn)程”形式服務(wù)很像,它持續(xù)在運(yùn)行,隨時(shí)可以響應(yīng)請(qǐng)求——提供服務(wù)。

4.3 SOA

Service Oriented Architecture

面向服務(wù)的架構(gòu)。

底層基于“服務(wù)”之間的調(diào)用設(shè)計(jì)項(xiàng)目架構(gòu)。把相同功能封裝到一個(gè)或一組服務(wù)中。

4.4 微服務(wù)

服務(wù)的“微小化”

5 中間件

5.1 傳統(tǒng)開(kāi)發(fā)的組件

5.2 中間件

6 由淺入深了解/介紹分布式系統(tǒng)

6.1 分布式架構(gòu)實(shí)現(xiàn)技術(shù)

  • Dubbo+Zookeeper
  • SpringBoot+SpringCloud

6.2 工程

  • 工程清單
  • 工程之間關(guān)系
    • 繼承
    • 聚合
    • 依賴
  • 工程的作用

6.3 中間件

  • 用到了哪些中間件
  • 具體中間件和哪些功能相關(guān)

6.4 一個(gè)請(qǐng)求處理流程

瀏覽器→consumer→provider→中間件/provider→返回值

6.5 業(yè)務(wù)功能

子系統(tǒng)→模塊→子模塊→類(lèi)→……

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容