Service Mesh

目錄

一、Service Mesh 的核心特點

二、Service Mesh 的典型架構

1. Sidecar 模式

2. 控制平面與數據平面分離

三、Service Mesh 解決的核心問題

四、典型應用場景

五、主流 Service Mesh 框架對比

六、挑戰與局限性

七、未來趨勢

總結

Istio

一、Istio 核心組件與架構

1. 控制平面(Control Plane)

2. 數據平面(Data Plane)

3. 架構圖

二、Istio 核心功能

1. 流量管理

2. 安全增強

3. 可觀測性

4. 策略執行

三、Istio 資源對象(CRDs)

四、部署與集成

1. 部署方式

2. 與云原生生態集成

五、應用場景

六、挑戰與局限性

七、Istio 3.0 新特性(開發中)

總結

Istio和Service Mesh有什么關系?

一、核心概念對比

二、Service Mesh 的本質

三、Istio 的角色與定位

四、Istio 與其他 Service Mesh 框架的對比

五、如何選擇?

六、Service Mesh 的演進與未來

總結:關系與價值


Service Mesh(服務網格)?是一種用于管理微服務架構中服務間通信的基礎設施層,它通過在應用程序代碼之外提供獨立的網絡代理,實現對服務間通信的自動化管理、監控、安全和流量控制。其核心目標是將微服務的通信邏輯從業務代碼中解耦,使開發團隊更專注于業務邏輯,同時提升系統的可觀測性、可靠性和安全性。

一、Service Mesh 的核心特點

  1. 獨立于業務代碼

    • 通過輕量級網絡代理(如 Envoy)與微服務實例部署在一起(通常以?Sidecar?模式運行),攔截服務間的所有流量,無需修改業務代碼即可實現通信管理。
  2. 分層架構

    • 數據平面(Data Plane):由 Sidecar 代理組成,負責實際的流量轉發、負載均衡、熔斷、認證等底層操作。
    • 控制平面(Control Plane):提供全局管理功能,如服務發現、配置下發、策略管理、監控數據收集等,通常由平臺級組件(如 Istio、Linkerd)實現。
  3. 豐富的功能集

    • 流量管理:負載均衡、故障注入、流量鏡像、動態路由(藍綠發布、灰度發布)。
    • 安全通信:雙向 TLS 認證(mTLS)、細粒度訪問控制(如基于角色的權限控制 RBAC)、密鑰管理。
    • 可觀測性:分布式追蹤(如 Jaeger)、 metrics 監控、日志聚合。
    • 彈性能力:熔斷、重試、超時控制。

二、Service Mesh 的典型架構

1. Sidecar 模式

  • 每個微服務實例旁部署一個 Sidecar 代理(如 Envoy),所有入站和出站流量均通過 Sidecar 轉發。
  • 優勢:完全解耦業務代碼與通信邏輯,支持多語言微服務(如 Java、Go、Python 混合架構)。
2. 控制平面與數據平面分離
  • 控制平面
    • 集中管理配置(如路由規則、安全策略),下發給數據平面的 Sidecar。
    • 常見實現:
      • Istio:基于 Envoy 的控制平面,支持 Kubernetes 原生部署。
      • Linkerd:輕量級 Service Mesh,專注于安全性和可觀測性。
      • Consul Connect:HashiCorp 生態的 Service Mesh,支持多數據中心。
  • 數據平面
    • Sidecar 代理執行控制平面的指令,處理實際流量。

三、Service Mesh 解決的核心問題

  1. 微服務通信的復雜性

    • 傳統微服務需在代碼中實現負載均衡、熔斷等邏輯,代碼冗余且難以維護。
    • Service Mesh 通過 Sidecar 統一處理通信邏輯,業務代碼僅需關注 “調用誰”,無需關心 “如何調用”。
  2. 多語言 / 混合架構支持

    • 不同語言開發的微服務可通過統一的 Sidecar 實現通信標準(如 HTTP、gRPC),避免跨語言集成的復雜性。
  3. 安全性與合規性

    • 內置 mTLS 實現服務間加密,無需手動管理證書;通過控制平面統一配置訪問策略,滿足合規要求(如 GDPR)。
  4. 可觀測性增強

    • Sidecar 自動收集通信數據(如延遲、吞吐量、錯誤率),結合控制平面的監控組件,實現全鏈路追蹤和故障定位。

四、典型應用場景

  1. 復雜微服務架構升級

    • 傳統單體應用拆分為微服務后,通過 Service Mesh 管理服務間通信,降低架構復雜度。
  2. 藍綠發布與灰度發布

    • 通過控制平面配置動態路由規則,將流量按比例路由到不同版本的服務,實現零停機發布。
  3. 跨云 / 多集群通信

    • 支持跨 Kubernetes 集群、公有云(如 AWS、Azure)與私有云的服務通信,實現混合云架構。
  4. 遺留系統遷移

    • 無需修改遺留系統代碼,通過 Sidecar 為其添加現代微服務特性(如監控、安全認證)。

五、主流 Service Mesh 框架對比

框架控制平面語言數據平面代理生態集成特點
IstioGoEnvoyKubernetes、Helm功能最全面,支持高級流量管理和安全策略,學習成本較高。
LinkerdRustLinkerd-proxyKubernetes、Prometheus輕量級,專注于安全和可觀測性,資源占用低,適合中小型集群。
Consul ConnectGoEnvoyConsul、Nomad與 HashiCorp 生態深度集成,支持多云和非 Kubernetes 環境。
AWS App Mesh-EnvoyAWS ECS/EKS亞馬遜云原生方案,無縫集成 AWS 監控和安全服務。

六、挑戰與局限性

  1. 學習成本高

    • 涉及 Sidecar、控制平面、配置管理等多層概念,需團隊掌握新工具鏈(如 Istio 的 CRD)。
  2. 資源消耗增加

    • 每個服務實例需額外運行 Sidecar 代理,增加計算資源(CPU / 內存)和網絡延遲(約 1-2ms)。
  3. 調試復雜度上升

    • 通信問題可能源于 Sidecar 配置、控制平面規則或業務代碼,需結合多維度監控數據定位。
  4. 與云平臺綁定

    • 部分框架(如 AWS App Mesh)高度依賴特定云廠商,限制多云遷移靈活性。

七、未來趨勢

  1. 輕量化與 Serverless 集成

    • 簡化控制平面設計(如 Linkerd 的輕量級架構),支持 Serverless 函數(如 AWS Lambda)的 Service Mesh 能力。
  2. AI 驅動的自動化

    • 結合機器學習實現流量預測、自動擴縮容、異常檢測,減少人工配置成本。
  3. 邊緣計算場景拓展

    • 在邊緣節點部署輕量級 Service Mesh,管理 IoT 設備與云端服務的通信。

總結

Service Mesh 是微服務架構演進的重要里程碑,它通過將通信邏輯從業務代碼中剝離,解決了微服務規模化后的復雜性問題,使開發團隊能夠更高效地構建彈性、安全、可觀測的分布式系統。盡管存在學習成本和資源消耗的挑戰,但其帶來的架構解耦和標準化能力,使其成為大型復雜系統(尤其是云原生場景)的核心基礎設施。

Istio?是目前最流行的開源?Service Mesh?框架,由 Google、IBM 和 Lyft 聯合開發,旨在解決微服務架構中的服務治理、流量管理、安全通信和可觀測性等核心問題。它通過在應用層和網絡層之間添加透明代理層,實現對服務間通信的細粒度控制,無需修改業務代碼。

Istio

一、Istio 核心組件與架構

1. 控制平面(Control Plane)

負責全局配置和策略管理,核心組件包括:

  • Pilot:服務發現、流量管理(如路由規則、負載均衡)。
  • Citadel:證書管理,實現服務間 mTLS(雙向 TLS)加密。
  • Galley:配置驗證、處理和分發,確保配置合規性。
  • Policy & Telemetry:策略執行和遙測數據收集(已拆分為?Envoy 過濾器?和?Telemetry API)。
2. 數據平面(Data Plane)

由?Envoy Proxy?組成,作為 Sidecar 與每個服務實例部署在一起,負責實際流量轉發:

  • 攔截所有入站 / 出站流量,執行控制平面下發的策略。
  • 收集 metrics、logs 和 traces 數據,發送給監控系統。
3. 架構圖

二、Istio 核心功能

1. 流量管理
  • 動態路由:基于權重、HTTP 頭、URL 路徑等條件將流量分發到不同版本的服務(如灰度發布)。

    yaml

    # 示例:將 20% 流量路由到 v2 版本
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:name: reviews
    spec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v1weight: 80- destination:host: reviewssubset: v2weight: 20
    
  • 故障注入:主動注入延遲或錯誤,測試系統的彈性能力。
  • 熔斷與重試:自動斷開故障服務連接,配置請求重試策略。
2. 安全增強
  • mTLS 加密:自動為服務間通信啟用雙向 TLS,無需手動管理證書。
  • 訪問控制:基于身份和屬性(如服務名、命名空間)的細粒度授權策略。

    yaml

    # 示例:僅允許 productpage 服務訪問 reviews 服務
    apiVersion: security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:name: reviews-policy
    spec:selector:matchLabels:app: reviewsrules:- from:- source:principals: ["cluster.local/ns/default/sa/productpage"]
    
3. 可觀測性
  • Metrics 監控:自動收集請求延遲、吞吐量、錯誤率等指標,集成 Prometheus 和 Grafana。
  • 分布式追蹤:通過 Envoy 注入追蹤頭(如 B3 格式),集成 Jaeger 實現全鏈路可視化。
  • 日志聚合:收集 Sidecar 流量日志,支持自定義日志格式。
4. 策略執行
  • 限流:基于請求速率或連接數限制,防止服務過載。
  • 配額管理:控制資源使用(如 API 調用次數)。

三、Istio 資源對象(CRDs)

Istio 通過?自定義資源定義(CRD)?配置服務網格,常見資源包括:

  • VirtualService:定義流量路由規則(如將請求路由到特定版本的服務)。
  • DestinationRule:定義目標服務的策略(如負載均衡算法、TLS 配置)。
  • Gateway:管理集群入口流量(如 HTTP 端口、TLS 證書)。
  • ServiceEntry:將外部服務(如第三方 API)引入網格。
  • AuthorizationPolicy:定義訪問控制規則。

四、部署與集成

1. 部署方式
  • Kubernetes:最常見的部署環境,通過 Helm 或 Istio Operator 安裝。
  • 非 Kubernetes:支持虛擬機(VM)、裸機環境,但需手動配置 Envoy。
2. 與云原生生態集成
  • 監控工具:Prometheus(指標)、Grafana(可視化)、Jaeger(追蹤)。
  • CI/CD:與 Jenkins、GitLab CI 集成,實現自動化部署和測試。
  • 安全工具:與 Keycloak 集成實現 OIDC 認證,與 Cert-Manager 管理證書。

五、應用場景

  1. 灰度發布與 A/B 測試
    通過權重路由將部分用戶流量導向新版本服務,驗證功能穩定性。

  2. 微服務安全加固
    無需修改代碼,自動為所有服務間通信啟用 mTLS 加密,防止中間人攻擊。

  3. 跨集群通信
    連接多個 Kubernetes 集群,實現跨區域服務調用(如多活架構)。

  4. API 網關替代方案
    利用 Istio Gateway 替代傳統 API 網關,統一管理入口流量和策略。

六、挑戰與局限性

  1. 復雜性與學習曲線

    • 涉及大量 CRD 資源和配置概念(如 VirtualService、DestinationRule),新手需花費時間理解。
  2. 性能開銷

    • Sidecar 代理增加約 5-10% 的 CPU / 內存消耗和 1-2ms 的額外延遲,高吞吐量場景需優化。
  3. 升級風險

    • 控制平面升級可能影響整個網格,需謹慎規劃并進行充分測試。
  4. 調試難度

    • 故障可能源于配置錯誤、網絡問題或 Sidecar 本身,需結合多工具排查。

七、Istio 3.0 新特性(開發中)

  • 架構簡化:合并控制平面組件(如將 Pilot、Galley 等合并為單一進程),降低資源消耗。
  • 漸進式部署:支持分階段部署(如先部署數據平面,再逐步啟用控制平面功能)。
  • 增強的可觀測性:原生支持 OpenTelemetry,簡化與云廠商監控服務的集成。

總結

Istio 為微服務架構提供了全面的服務治理解決方案,通過統一的控制平面和透明的 Sidecar 代理,解決了服務間通信的復雜性問題。盡管存在學習成本和性能開銷,但其強大的流量管理、安全和可觀測性能力,使其成為大規模微服務部署(尤其是云原生環境)的首選 Service Mesh 框架。在采用 Istio 時,建議從小規模試點開始,逐步擴展到生產環境,并建立完善的監控和故障排查機制。

Istio和Service Mesh有什么關系?

Istio 是 Service Mesh 架構的一種具體實現,二者是技術實現架構理念的關系。理解它們的關聯和區別,對微服務架構設計至關重要。

一、核心概念對比

Service MeshIstio
一種架構模式一個開源項目 / 產品
解決微服務通信的基礎設施層實現 Service Mesh 的主流框架之一
核心組件:數據平面 + 控制平面基于 Envoy 實現數據平面,自研控制平面
抽象理念具體技術方案

二、Service Mesh 的本質

Service Mesh 是一種網絡基礎設施層,通過在每個服務實例旁部署輕量級代理(Sidecar),將服務間通信的邏輯(如負載均衡、熔斷、加密)從業務代碼中剝離出來。其核心特點是:

  1. 透明性:對業務代碼無侵入,無需修改代碼即可實現通信增強。
  2. 分層設計
    • 數據平面:負責流量轉發和處理(如 Envoy、Linkerd-proxy)。
    • 控制平面:管理配置、下發策略(如 Istio 的 Pilot、Citadel)。

三、Istio 的角色與定位

Istio 是實現 Service Mesh 理念的具體框架,它提供:

  1. 完整的控制平面
    • Pilot:服務發現、流量管理(如路由規則)。
    • Citadel:安全認證(如 mTLS)。
    • Galley:配置驗證與分發。
    • 遙測組件:收集 metrics、logs、traces。
  2. 與 Envoy 的深度集成
    • 使用 Envoy 作為數據平面代理,通過 xDS API 動態配置。
  3. 豐富的功能集
    • 流量治理(如灰度發布、故障注入)、安全增強、可觀測性等。

四、Istio 與其他 Service Mesh 框架的對比

框架數據平面控制平面特點
IstioEnvoy自研(Go 語言)功能全面,適合復雜場景,但資源消耗較高
Linkerd自研(Rust)自研(Rust/Go)輕量級,專注性能和易用性
Consul ConnectEnvoyConsul(Go)與 HashiCorp 生態深度集成
AWS App MeshEnvoyAWS 托管服務云原生,無縫集成 AWS 服務

五、如何選擇?

  1. 選擇 Service Mesh 的時機

    • 微服務數量超過 10 個,通信復雜度顯著上升。
    • 需要統一的流量治理、安全策略或可觀測性方案。
    • 團隊具備處理復雜基礎設施的能力。
  2. 選擇 Istio 的場景

    • 需要高級流量管理(如基于 Header 的路由、故障注入)。
    • 對安全有嚴格要求(如零信任網絡)。
    • 已有 Kubernetes 集群,且資源充足。
  3. 不選擇 Istio 的場景

    • 資源受限的環境(如邊緣計算),更適合輕量級的 Linkerd。
    • 非 Kubernetes 環境,Consul Connect 可能更易集成。
    • 追求極簡架構,可先使用 API 網關(如 Kong)而非 Service Mesh。

六、Service Mesh 的演進與未來

  1. Istio 的發展方向

    • 簡化架構(如合并控制平面組件),降低資源消耗。
    • 增強云原生集成(如支持 Kubernetes Gateway API)。
    • 支持多集群和混合云場景。
  2. 新興趨勢

    • Serverless + Service Mesh:為無服務器函數提供通信治理能力。
    • AI 驅動的 Service Mesh:自動優化路由策略和故障恢復。
    • 標準化:Kubernetes Gateway API 可能成為 Service Mesh 的統一配置標準。

總結:關系與價值

Service Mesh 是解決微服務通信復雜性的架構理念,而 Istio 是實現這一理念的主流工具。Istio 通過提供完整的控制平面和與 Envoy 的深度集成,讓 Service Mesh 的落地更加便捷,但同時也引入了一定的復雜性。選擇 Istio 還是其他 Service Mesh 框架,取決于具體場景和團隊技術棧。無論如何,Service Mesh 已成為大規模微服務架構的基礎設施標配,而 Istio 是當前這一領域的領導者。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80764.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

黑馬Java基礎筆記-13常用查找算法

查找算法 基本查找(也叫順序查找,線性查找) 二分查找(需要有序數據) public static int binarySearch(int[] arr, int number){//1.定義兩個變量記錄要查找的范圍int min 0;int max arr.length - 1;//2.利用循環不斷的去找要查找的數據wh…

Go 語言 vs C+Lua(Skynet)游戲服務器方案對比分析

為啥挑這兩個呢?因為兩種技術分別對應CSP模型和Actor模型,都是經過時間檢驗的成熟且可靠的并發模型,問了很多地方,經過gpt整理得出如下報告。 從開發效率、運行性能、熱更新擴展、云部署與水平擴展能力、多類型游戲支持等五個維度…

LeetCode 925. 長按鍵入 java題解

雙指針。不會寫。 https://leetcode.cn/problems/long-pressed-name/description/ class Solution {public boolean isLongPressedName(String name, String typed) {int len1name.length();int len2typed.length();int i0,j0;while(i<len1&&j<len2){if(name.ch…

如何使用通義靈碼提高前端開發效率

工欲善其事&#xff0c;必先利其器。對于前端開發而言&#xff0c;使用VSCode已經能夠極大地提高前端的開發效率了。但有了AI加持后&#xff0c;前端開發的效率又更上一層樓了&#xff01; 本文采用的AI是通義靈碼插件提供的通義千問大模型&#xff0c;是目前AI性能榜第一梯隊…

【小明劍魔視頻Viggle AI模仿的核心算法組成】

Viggle AI 作為一款先進的生成式視頻AI工具&#xff0c;其核心技術棧融合了多項前沿算法。以下是深度解析其核心算法架構及實現原理&#xff1a; 一、核心算法組成 1. 運動控制生成&#xff08;Motion Control Generation&#xff09; 算法框架&#xff1a;基于擴散模型&…

解決Power BI Desktop導入Excel數據第一行不是列標題問題

選中第一行不是列標題的表→鼠標右鍵→選擇編輯查詢→進入Power Query界面→點擊“將第一行用作標題”→點擊左邊的“關閉并應用” 第一行就提升為標題了

對 Lambda 架構問題的深入理解

感謝 GPT&#xff0c;對很多問題的理解有機會更深。 大家攻擊 Lambda 架構&#xff0c;常說的一個點就是 “實時離線指標存在差異”。“實時離線指標存在差異”&#xff0c;是一個真實困擾運營方的問題嗎&#xff1f; 答案&#xff1a;是的&#xff0c;這是一個真實生活中的痛…

React中使用ahooks處理業務場景

// 從 ahooks 引入 useDynamicList 鉤子函數&#xff0c;用于管理動態列表數據&#xff08;增刪改&#xff09; import { useDynamicList } from ahooks;// 從 ant-design/icons 引入兩個圖標組件&#xff1a;減號圓圈圖標和加號圓圈圖標 import { MinusCircleOutlined, PlusCi…

藍橋杯2114 李白打酒加強版

問題描述 話說大詩人李白, 一生好飲。幸好他從不開車。 一天, 他提著酒顯, 從家里出來, 酒顯中有酒 2 斗。他邊走邊唱: 無事街上走&#xff0c;提顯去打酒。 逢店加一倍, 遇花喝一斗。 這一路上, 他一共遇到店 N 次, 遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。…

小土堆pytorch--神經網路-卷積層池化層

神經網路-卷積層&池化層 一級目錄二級目錄三級目錄 1. 神經網路-卷積層2. 神經網路最大池化的應用 一級目錄 二級目錄 三級目錄 1. 神經網路-卷積層 在PyTorch中&#xff0c;torch.nn.Conv2d函數定義了一個二維卷積層&#xff0c;其常用參數包括&#xff1a; in_channel…

C++顯式聲明explicit

C顯示聲明explicit 在 C 中&#xff0c;explicit 關鍵字用于修飾單參數構造函數或多參數構造函數&#xff08;C11 起&#xff09;&#xff0c;其核心作用是禁止編譯器的隱式類型轉換。 一、必須加 explicit 的典型場景 1. 單參數構造函數 當構造函數只有一個參數時&#xff…

【springboot】HttpClient快速入門

介紹 HttpClient 是Apache Jakarta Common 下的子項目&#xff0c;可以用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包&#xff0c;并且它支持 HTTP 協議最新的版本和建議 就是我們可以在java程序中使用HttpClient構造http請求&#xff0c;還可以發送h…

安全版4.5.8開啟審計后,hac+讀寫分離主備切換異常

文章目錄 環境BUG/漏洞編碼癥狀觸發條件解決方案 環境 系統平臺&#xff1a;UOS &#xff08;飛騰&#xff09; 版本&#xff1a;4.5.8 BUG/漏洞編碼 3043 癥狀 BUG安裝包&#xff1a; hgdb-see-4.5.8-db43858.aarch64.rpm 異常&#xff1a;hac集群一主兩備環境&#xff…

企業級 Go 多版本環境部署指南-Ubuntu CentOS Rocky全兼容實踐20250520

&#x1f6e0;? 企業級 Go 多版本環境部署指南-Ubuntu / CentOS / Rocky 全兼容實踐 兼顧 多版本管理、安全合規、最小權限原則與 CI/CD 可復現性&#xff0c;本指南以 Go 官方 toolchain 為主&#xff0c;結合 asdf 實現跨語言統一管理&#xff0c;并剔除已過時的 GVM。支持 …

Linux 的 TCP 網絡編程 -- 回顯服務器,翻譯服務器

目錄 1. 相關函數介紹 1.1 listen() 1.2 accept() 1.3 connect() 2. TCP 回顯服務器 2.1 Common.hpp 2.2 InetAddr.hpp 2.3 TcpClient.cc 2.4 TcpServer.hpp 2.5 TcpServer.cc 2.6 demo 測試 3. TCP 翻譯服務器 3.1 demo 測試 1. 相關函數介紹 其中一些函數在之前…

Unity3D仿星露谷物語開發46之種植/砍伐橡樹

1、目標 種植一棵橡樹&#xff0c;從種子變成大樹。 然后可以使用斧頭砍伐橡樹。 2、刪除totalGrowthDays字段 修改growthDays的含義&#xff0c;定義每個值為到達當前階段的累加天數。此時最后一個階段就是totalGrowthDays的含義。所以就可以刪除totalGrowthDays字段。 &…

容器化-K8s-鏡像倉庫使用和應用

一、K8s 鏡像倉庫使用 1、啟動鏡像倉庫 cd/usr/local/harbor ./install.sh2、配置鏡像倉庫地址 在 master 節點和 slaver 節點上,需要配置 Docker 的鏡像倉庫地址,以便能夠訪問本地的鏡像倉庫。編輯 Docker 的配置文件 vi /etc/docker/daemon.json(如果不存在則創建),添…

塔式服務器都有哪些重要功能?

塔式服務器作為一種擁有著獨特立式設計的服務器&#xff0c;能夠幫助企業節省一定的放置空間&#xff0c;提供一系列的功能和優勢&#xff0c;可以運用在多種應用場景當中&#xff0c;下面將探討一下塔式服務器的主要功能都有哪些&#xff1f; 塔式服務器可以支持基本的應用程序…

2025年- H36-Lc144 --739. 每日溫度(單調棧)--Java版

1.題目描述 2.思路 &#xff08;1&#xff09;單調棧維護單調遞增或者單調遞減的數列 &#xff08;2&#xff09;因為要求找到當前元素 右邊區域&#xff0c;第一個比當前元素大的元素&#xff0c;所以取單調增數量。 &#xff08;3&#xff09;單調棧存儲元素的索引。如果遇到…

架構選擇/區別

目錄 一、分層架構&#xff08;Layered Architecture&#xff09; 二、微服務架構&#xff08;Microservices Architecture&#xff09; 三、分布式架構&#xff08;Distributed Architecture&#xff09; 四、單體架構&#xff08;Monolithic Architecture&#xff09; 五…