成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

服務架構:分層架構

開發 架構
分層是一種職責分離和依賴管理的方式:每層都有自己特定的職能;高層的服務可以調用低層的服務,但是反過來不行。

一個分層架構設計的應用通常包含很多個邏輯層(Logical Layer)和物理層(Physical Tier)。分層架構這個名字里的層(Tier),特指“物理層”(Tier),每個物理層是由很多臺機器構成,可以是部署在局域網下一個子網的虛擬機或裸金屬機器。

分層是一種職責分離和依賴管理的方式:每層都有自己特定的職能;高層的服務可以調用低層的服務,但是反過來不行。

物理層運行在不同的機器上,一層可以直接調用另一層,或者通過消息隊列進行通信。盡管每個邏輯層都可以被部署在獨立的物理層,但不是必須的。為了節省資源,一個物理層可以部署多個邏輯層。通過物理層的隔離,架構的擴展性和容錯性會更強,負面作用是會導致額外的網絡通信延遲。

傳統的三層應用(物理層)分別包含展示層、中間層、數據庫層。中間層是可選的,較為復雜的應用通常會超過三層。上面的架構圖中就包含了兩個中間層,分別實現了不同的功能。

一個分層架構的應用,從邏輯層的視角來看,可以分為兩類:

  1. 封閉架構:每個邏輯層只能調用它的直接下層。
  2. 開放架構:每個邏輯層都可以調用它下面的任何?層。

封閉架構嚴格限制了邏輯層之間的依賴關系,架構更為清晰。缺點是一些中間層只可能只對請求進行轉發,導致不必要的網絡交互。

應用場景

分層架構常見于IaaS系統,這類系統中每個物理層都運行在一組獨立的物理機上。不過IaaS系統也不必采用純粹的分層架構,畢竟架構中的某些部分使用現成的服務優勢更大,比如緩存系統、消息隊列和數據存儲服務。

在以下場景中可以考慮分層架構:

  • 簡單的網絡應用。
  • 將本地部署的應用遷移上云。
  • 本地部署應用與云服務應用混合開發的場景。

傳統公司里本地部署(自家機房)的系統通常采用分層架構,各家云服務商也提供了裸金屬服務器供傳統企業上云。

架構優勢

  • 云服務和本地部署的可移植性高。
  • 對于大多數開發者而言學習門檻低。
  • 從傳統架構模型演進過來的。
  • 支持多種多樣的部署環境,比如win/linux。

有哪些挑戰

  • 開發過程中,中間層很容易淪為對數據庫的CRUD,只是增加了網絡延遲。
  • 按照單體架構的方式設計導致功能無法獨立發布。
  • 在IaaS管理整個系統比使用現成的服務維護成本高。
  • 在大型系統中,網絡安全會成為問題。

最佳實踐

  • 使用自動擴容功能,可以應對工作負載的變化。
  • 使用消息隊列把物理層進行解耦。
  • 把半靜態資源緩存起來。
  • 數據庫層配置成高可用模式。
  • 在網絡層(Web Tier)之前加一層防火墻(WAF)。
  • 給每個物理層分配一個子網,不同子網之間只開放特定的ip port,以提高安全性。
  • 限制數據層的訪問,比如只允許中間層訪問數據,不允許網絡層(Web Tier)訪問。

運行在虛擬機上的分層架構

這里我們給出一個在虛擬機上推薦的分層架構:

每個物理層均包含至少兩臺虛擬機,以避免單點故障;通過負載均衡,把請求分發到不同的虛擬機上;如果要支持橫向擴容,我們可以在一個物理層配置更多虛擬機。

每個物理層都有自己的子網,所以這些虛擬機的內網IP在一個網段里。這樣的優勢是配置網絡安全規則很方便,路由表也很容易配置。

網絡層和業務邏輯層是無狀態的。任何一個虛擬機都可以處理到達該層的請求。數據層是多備份的數據庫系統。比如主從版本的MySQL、TiDB,或者云上Dynamodb等。

每個物理層都有自己的 inbound 和 outbound 網絡安全規則,比如數據層可以設置只允許業務邏輯層的虛擬機IP進行訪問;

補充說明

  • 分層架構并不限定于3層,復雜的系統通常會有很多層;七層負載均衡或四層負載均衡都是很常見的選擇。
  • 層定義了擴展性、可靠性和安全性的邊界;如果服務的SLA不一樣,可以考慮放到不同的物理層。
  • 架構中很多地方可以采用現成的服務,尤其是通用的緩存、消息隊列、存儲、數據庫服務。
  • 生產環境的虛擬機要禁止SSH或RDP直連;通常情況下,運維/開發人員可以登陸一個跳板機,跳板機可以直連生產環境虛擬機;對于跳板機,我們通常也會設置網絡規則,比如只允許特定的公網IP通過SSH或RDP訪問。
  • 對于核心服務,多機房容災也是要考慮的點。
責任編輯:姜華 來源: 今日頭條
相關推薦

2023-06-16 13:34:00

軟件架構模式

2022-11-29 11:21:20

單體分層應用架構

2017-10-18 14:31:34

互聯網分層架構服務化

2019-12-10 10:59:11

分層架構項目

2016-06-07 16:43:57

云計算混合云

2017-11-17 07:06:27

互聯網分層架構APP

2023-07-28 09:23:24

微服務架構

2023-05-31 08:41:23

分層架構對象模型

2019-04-28 11:20:01

Istio微服務架構

2010-09-26 13:37:33

分層存儲架構

2012-04-06 13:31:35

SSH

2019-12-16 08:08:39

六邊形架構分層架構架構

2019-10-30 16:24:34

分層架構緩存

2020-02-26 22:02:04

Istio架構連接

2017-10-15 14:36:10

互聯網分層架構服務化

2021-01-04 05:51:02

數據倉庫架構

2020-08-11 09:43:28

分層架構互聯網架構

2019-10-21 09:32:48

緩存架構分層

2023-07-12 08:30:52

服務架構事件驅動架構

2023-07-26 08:51:08

大數據服務架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜久久久 | 狠狠色综合网站久久久久久久 | 二区在线视频 | 亚洲综合色婷婷 | 国产高清在线 | 亚洲国产精品va在线看黑人 | 精品三区 | 91视频在线| 国产久| 国产精品成人一区二区 | 精品久久久久久亚洲精品 | 欧美久久精品一级黑人c片 91免费在线视频 | 天天爱av | avhd101在线成人播放 | 精品亚洲一区二区三区 | 日韩国产欧美视频 | 欧美一卡二卡在线观看 | 国产九九九 | 99久久久无码国产精品 | h在线播放 | 免费一区二区三区 | 精品视频一区二区 | 日韩在线视频一区二区三区 | 97国产精品视频人人做人人爱 | 看毛片的网站 | 国产精品一区二区三区久久 | 欧美区日韩区 | 99精品视频在线观看 | 欧美成人专区 | 欧美a级网站 | 国产探花 | 日韩欧美精品一区 | 欧美中文字幕一区二区 | 免费能直接在线观看黄的视频 | 欧美国产日韩在线观看 | 日日夜夜精品 | 国产99视频精品免视看9 | 欧美激情综合色综合啪啪五月 | 亚洲福利网 | 日本激情一区二区 | 求毛片|