偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

單體 V/s 分布式架構(gòu),你看明白了嗎?

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
網(wǎng)絡(luò)并不只由一個網(wǎng)絡(luò)硬件供應(yīng)商構(gòu)成。而且,并非所有這些異構(gòu)的硬件供應(yīng)商之間都能很好地協(xié)同工作。這反過來會影響網(wǎng)絡(luò)的可靠性、延遲以及對帶寬的假設(shè)。

在軟件領(lǐng)域,存在多種架構(gòu)風(fēng)格可供選擇,我們需要關(guān)注不同架構(gòu)風(fēng)格帶來的風(fēng)險。選擇符合業(yè)務(wù)需求的架構(gòu)風(fēng)格是一個長期迭代的過程。

架構(gòu)風(fēng)格可以分為兩大主要類型:單體架構(gòu)(將所有代碼部署在一個單元中)和分布式架構(gòu)(通過遠(yuǎn)程訪問協(xié)議連接多個部署單元)。它們又可以進(jìn)一步細(xì)分為以下多個子架構(gòu)風(fēng)格,如下所示。

單體架構(gòu)

  1. 分層架構(gòu)
  2. 流水線架構(gòu)
  3. 微內(nèi)核架構(gòu)

分布式架構(gòu)

  1. 基于服務(wù)的架構(gòu)
  2. 事件驅(qū)動架構(gòu)
  3. 空間驅(qū)動架構(gòu)
  4. 面向服務(wù)的架構(gòu)
  5. 微服務(wù)架構(gòu)

后期我將上述每種架構(gòu)風(fēng)格寫一個獨立的博客。這篇將專注于對架構(gòu)風(fēng)格的更廣泛分類,并試圖了解在使用這些架構(gòu)時涉及的優(yōu)缺點。

單體架構(gòu)

當(dāng)從零開始進(jìn)行軟件開發(fā)時,通常會首先采用單體架構(gòu)風(fēng)格。這可能是默認(rèn)選擇或意外選擇,因為在初始階段,架構(gòu)師很難對適當(dāng)?shù)募軜?gòu)風(fēng)格做出決策。對于小型、簡單的應(yīng)用程序或網(wǎng)站,這種架構(gòu)風(fēng)格是一個不錯的選擇。

這種風(fēng)格支持的分層機(jī)制是技術(shù)和領(lǐng)域級別的。以下是在此風(fēng)格中使用的不同分區(qū):

  • 展示層 - 負(fù)責(zé)用戶界面和處理用戶輸入。
  • 業(yè)務(wù)邏輯 - 執(zhí)行應(yīng)用程序的核心業(yè)務(wù)邏輯。
  • 數(shù)據(jù)庫訪問 - 負(fù)責(zé)訪問數(shù)據(jù)庫的數(shù)據(jù)訪問對象。
  • 應(yīng)用程序集成 - 與其他服務(wù)進(jìn)行集成(例如通過消息傳遞或REST API)

為什么要使用這種風(fēng)格?

  1. 小型應(yīng)用程序的不錯選擇。
  2. 在項目初期非常方便使用。
  3. 適用于預(yù)算緊張和時間有限的情況。
  4. 大多數(shù)開發(fā)人員和架構(gòu)師都相當(dāng)簡單和熟悉。
  5. 成本較低,對于架構(gòu)師在分析業(yè)務(wù)需求和要求時還不確定使用哪種風(fēng)格時是一個不錯的選擇。

為什么不使用這種風(fēng)格?

隨著應(yīng)用程序的增長,可維護(hù)性、敏捷性、可測試性和可部署性等特性會受到不利影響。第二個要注意的因素是架構(gòu)下沉反(sinkhole_ ani)模式,當(dāng)請求在各層之間以簡單的透傳處理方式進(jìn)行傳遞,而在每個層內(nèi)部沒有執(zhí)行任何業(yè)務(wù)邏輯時,這種反模式會出現(xiàn)。

分布式架構(gòu)

分布式架構(gòu)風(fēng)格雖然在性能、可擴(kuò)展性、可部署性和可用性方面比單體架構(gòu)風(fēng)格強(qiáng)大得多,但是為了實現(xiàn)這種強(qiáng)大性能,也存在一些需要權(quán)衡的考慮。

在本節(jié)中,我們將討論與分布式架構(gòu)風(fēng)格相關(guān)的謬論。

謬論:

網(wǎng)絡(luò)可靠。

不能假設(shè)網(wǎng)絡(luò)總是可靠的(最近的電信信號事件)。眾所周知,網(wǎng)絡(luò)隨著技術(shù)的發(fā)展變得更加可靠,但網(wǎng)絡(luò)仍然普遍不可靠。考慮下圖

服務(wù)B可能完全正常,但由于網(wǎng)絡(luò)問題,服務(wù)A無法與其建立聯(lián)系?;蛘吒愀獾氖?,服務(wù)A向服務(wù)B發(fā)送了一個處理請求,由于網(wǎng)絡(luò)問題,沒有收到響應(yīng)。系統(tǒng)越依賴網(wǎng)絡(luò),就越有可能變得不可靠。

延遲為零

在討論網(wǎng)絡(luò)變得更快的觀點時,往往會忽視這個謬論。但是考慮一種情況,即在單體架構(gòu)中,層與層之間的調(diào)用在本地進(jìn)行,延遲只有納秒級,但在切換到分布式架構(gòu)后,本地調(diào)用變?yōu)檫h(yuǎn)程調(diào)用,延遲增加到毫秒級。下面的圖表中進(jìn)行了解釋。

帶寬是無限的

當(dāng)使用單體架構(gòu)風(fēng)格時,這個謬論并不成立,因為組件之間的大部分調(diào)用都是本地方法調(diào)用。但是,當(dāng)系統(tǒng)分布在遠(yuǎn)程位置并需要通過REST調(diào)用進(jìn)行通信時,情況就會發(fā)生變化。

請參考下面的圖表,其中服務(wù)A依賴于服務(wù)B來滿足用戶請求。對于單個請求,這可能是一種不錯的體驗。但是考慮到有數(shù)千個并發(fā)請求針對同一個查詢,這將導(dǎo)致網(wǎng)絡(luò)變慢,間接消耗帶寬,增加調(diào)用之間的延遲。

網(wǎng)絡(luò)是安全的

由于使用了虛擬專用網(wǎng)絡(luò)(VPN)、安全網(wǎng)絡(luò)和可信網(wǎng)絡(luò)等,大多數(shù)軟件人員往往忽視了這個謬論。但是網(wǎng)絡(luò)并不安全,在切換到分布式架構(gòu)時,安全性變得更加具有挑戰(zhàn)性。威脅和攻擊的表面積增加了一個數(shù)量級。

拓?fù)溆肋h(yuǎn)不會改變。

這個謬誤指的是整個網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包括整個網(wǎng)絡(luò)中使用的所有路由器、集線器、交換機(jī)、防火墻、網(wǎng)絡(luò)和設(shè)備。不要假設(shè)拓?fù)涫枪潭ǖ牟⑶矣肋h(yuǎn)不會改變。事實上,它是會發(fā)生變化的,而且變化是常態(tài)。

只有一個管理員

在分布式架構(gòu)中,從來沒有單一的管理員。架構(gòu)師需要與多個管理員合作和溝通,以維護(hù)整個生態(tài)系統(tǒng)的健康。由于單一部署單元的特性,單體架構(gòu)風(fēng)格不需要這種程度的溝通或協(xié)作。

傳輸成本為零

這里的傳輸成本不是指延遲,而是指與進(jìn)行單個REST調(diào)用相關(guān)的實際成本。與單體架構(gòu)相比,分布式架構(gòu)在硬件、服務(wù)器、網(wǎng)關(guān)、防火墻、新子網(wǎng)、代理等方面的成本要高得多。

網(wǎng)絡(luò)是同質(zhì)的

網(wǎng)絡(luò)并不只由一個網(wǎng)絡(luò)硬件供應(yīng)商構(gòu)成。而且,并非所有這些異構(gòu)的硬件供應(yīng)商之間都能很好地協(xié)同工作。這反過來會影響網(wǎng)絡(luò)的可靠性、延遲以及對帶寬的假設(shè)。


責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2025-05-13 03:22:00

2024-01-08 20:05:32

2023-12-08 08:38:15

EventLoopAPI瀏覽器

2024-03-27 13:33:00

MySQLInnoDB事務(wù)

2022-09-13 09:14:48

架構(gòu)系統(tǒng)

2024-05-30 08:19:52

微服務(wù)架構(gòu)大型應(yīng)用

2023-06-09 07:18:03

開源數(shù)據(jù)庫

2021-10-20 18:49:29

架構(gòu)分布式系統(tǒng)

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2023-11-06 07:37:01

函數(shù)式插槽React

2023-05-11 08:14:58

國產(chǎn)數(shù)據(jù)庫用戶

2024-01-25 09:10:10

GoRust標(biāo)準(zhǔn)庫

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2025-01-07 08:37:35

2019-08-22 10:54:05

分布式系統(tǒng)架構(gòu)

2024-12-05 10:00:54

K8s參數(shù)Pod

2023-12-26 07:37:27

2023-05-26 07:55:06

分布式數(shù)據(jù)庫SQL

2021-03-12 08:36:27

微服務(wù)分布式單體

2021-01-21 08:49:52

數(shù)據(jù)單體架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號