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

一篇聊透云原生中的服務(wù)網(wǎng)格

開發(fā) 前端
服務(wù)網(wǎng)格通常由一組輕量級的代理程序組成,這些代理程序負(fù)責(zé)處理服務(wù)之間的通信,管理流量、安全性、監(jiān)控和其他相關(guān)的任務(wù)。

服務(wù)網(wǎng)格

服務(wù)網(wǎng)格是一種軟件架構(gòu)模式,用于管理和連接微服務(wù)架構(gòu)中的服務(wù)。它提供了一種方法,使得微服務(wù)之間的通信變得更加可靠、安全和靈活。服務(wù)網(wǎng)格通常由一組輕量級的代理程序組成,這些代理程序負(fù)責(zé)處理服務(wù)之間的通信,管理流量、安全性、監(jiān)控和其他相關(guān)的任務(wù)。它們還可以提供諸如負(fù)載均衡、故障轉(zhuǎn)移和自動伸縮等功能,從而幫助確保整個微服務(wù)架構(gòu)的可靠性和可伸縮性。Istio 和 Linkerd 是兩個常見的服務(wù)網(wǎng)格實現(xiàn)。

圖片圖片

特點

作為應(yīng)用程序間通信的中間層

  • 服務(wù)網(wǎng)格充當(dāng)了應(yīng)用程序之間通信的中間層。它們位于微服務(wù)架構(gòu)中服務(wù)之間的通信路徑上,負(fù)責(zé)管理和控制所有的通信流量。
  • 這種中間層的存在使得服務(wù)之間的通信變得更加可靠,因為它們可以處理通信中的許多復(fù)雜性,例如負(fù)載均衡、故障轉(zhuǎn)移和安全性等。

輕量級網(wǎng)絡(luò)代理

  • 服務(wù)網(wǎng)格通常由輕量級的網(wǎng)絡(luò)代理組成,這些代理直接嵌入到應(yīng)用程序或者與應(yīng)用程序運行在同一主機上。
  • 這些代理負(fù)責(zé)攔截和處理服務(wù)之間的所有通信,執(zhí)行所需的功能,例如流量管理、安全性、監(jiān)控等。

應(yīng)用程序無感知

  • 服務(wù)網(wǎng)格的設(shè)計目標(biāo)之一是使得應(yīng)用程序無需感知網(wǎng)格的存在。應(yīng)用程序可以專注于自己的業(yè)務(wù)邏輯,而無需處理底層的通信細(xì)節(jié)。
  • 這種無感知性意味著在將應(yīng)用程序部署到服務(wù)網(wǎng)格中時,不需要對應(yīng)用程序進行任何修改。

解耦應(yīng)用程序的重試/超時、監(jiān)控、追蹤和服務(wù)發(fā)現(xiàn)

  • 服務(wù)網(wǎng)格解耦了與通信相關(guān)的許多關(guān)注點,包括重試、超時、監(jiān)控、追蹤和服務(wù)發(fā)現(xiàn)等。
  • 通過將這些功能從應(yīng)用程序中抽象出來并集中管理,服務(wù)網(wǎng)格可以提供統(tǒng)一的解決方案來處理這些問題,從而降低了應(yīng)用程序開發(fā)人員的負(fù)擔(dān),并提高了整個架構(gòu)的可維護性和可靠性。

功能

服務(wù)發(fā)現(xiàn)

  • 服務(wù)網(wǎng)格可以自動發(fā)現(xiàn)和注冊微服務(wù)實例,并將它們的位置信息存儲在服務(wù)注冊表中。這使得其他服務(wù)能夠動態(tài)地找到并與所需的服務(wù)進行通信,而無需硬編碼服務(wù)的位置信息。

負(fù)載均衡

  • 服務(wù)網(wǎng)格可以根據(jù)預(yù)先定義的負(fù)載均衡策略,將請求均勻地分配到可用的服務(wù)實例上。這有助于提高系統(tǒng)的性能和可伸縮性,確保每個服務(wù)實例都能夠有效地處理流量。

加密通信

  • 通過加密通信功能,服務(wù)網(wǎng)格可以確保微服務(wù)之間的通信是安全的。它可以使用諸如TLS(傳輸層安全性)等加密協(xié)議來加密通信流量,以防止敏感數(shù)據(jù)在傳輸過程中被竊取或篡改。

觀察與追蹤微服務(wù)之間的拓?fù)?/h4>
  • 服務(wù)網(wǎng)格可以提供觀察和追蹤微服務(wù)之間通信拓?fù)涞墓δ堋_@包括監(jiān)控服務(wù)之間的通信模式、識別潛在的性能瓶頸和故障點,并提供實時的監(jiān)控指標(biāo)和分析報告。

服務(wù)之間訪問的鑒權(quán)與授權(quán)

  • 通過鑒權(quán)與授權(quán)功能,服務(wù)網(wǎng)格可以確保只有經(jīng)過授權(quán)的服務(wù)和用戶才能夠訪問特定的服務(wù)。它可以實施訪問控制策略,例如基于角色的訪問控制(RBAC)或令牌驗證,以確保服務(wù)之間的安全通信。

熔斷機制

  • 熔斷機制是服務(wù)網(wǎng)格提供的一種故障處理機制,用于防止故障的傳播和影響系統(tǒng)的穩(wěn)定性。當(dāng)檢測到某個服務(wù)出現(xiàn)故障或響應(yīng)時間超過閾值時,熔斷機制可以暫時停止將流量發(fā)送到該服務(wù),以避免對整個系統(tǒng)產(chǎn)生負(fù)面影響。

數(shù)據(jù)平面

通過接收控制面發(fā)送的路由與控制信息來定向轉(zhuǎn)發(fā)或處理數(shù)據(jù)。

當(dāng)談到服務(wù)網(wǎng)格時,這些特點是其核心功能之一,它們通過數(shù)據(jù)面和控制面的配合來實現(xiàn)。

服務(wù)發(fā)現(xiàn)

  • 服務(wù)網(wǎng)格通過服務(wù)發(fā)現(xiàn)功能來發(fā)現(xiàn)后端服務(wù)實例中哪些是可用的。這意味著當(dāng)新的服務(wù)實例被部署或舊的實例被移除時,服務(wù)網(wǎng)格能夠自動檢測到這些變化并更新服務(wù)發(fā)現(xiàn)的信息。

健康檢查

  • 健康檢查功能允許服務(wù)網(wǎng)格定期向服務(wù)發(fā)送心跳,以檢測服務(wù)實例是否存活。如果服務(wù)實例未能及時響應(yīng)健康檢查請求,服務(wù)網(wǎng)格將其標(biāo)記為不可用,并停止將流量發(fā)送到該實例。

鑒權(quán)

  • 通過鑒權(quán)功能,服務(wù)網(wǎng)格可以對訪問請求進行加解密驗證,以確保只有經(jīng)過授權(quán)的請求才能夠訪問服務(wù)。這有助于保護服務(wù)免受未經(jīng)授權(quán)的訪問或攻擊。

負(fù)載均衡

  • 負(fù)載均衡功能使服務(wù)網(wǎng)格能夠?qū)Χ鄠€下游服務(wù)進行流量的均衡分配。這確保了在負(fù)載增加時,流量能夠被有效地分發(fā)到各個服務(wù)實例上,從而提高了系統(tǒng)的性能和可用性。

流量統(tǒng)計

  • 通過流量統(tǒng)計功能,服務(wù)網(wǎng)格可以對每個請求的流量進行統(tǒng)計,并生成相應(yīng)的監(jiān)控數(shù)據(jù)和追蹤信息。這些統(tǒng)計數(shù)據(jù)可以用于分析系統(tǒng)的性能、診斷問題和優(yōu)化服務(wù)架構(gòu)。

熔斷限流

  • 熔斷限流功能允許服務(wù)網(wǎng)格確定最大的查詢率(QPS)、最大并發(fā)數(shù)等限制,并在達到這些限制時拒絕新的請求。這有助于保護后端服務(wù)免受過載的影響,并提高整個系統(tǒng)的穩(wěn)定性和可靠性。

數(shù)據(jù)面和控制面的配合

  • 數(shù)據(jù)面主要負(fù)責(zé)接收系統(tǒng)中的每個請求和包,并根據(jù)預(yù)先配置的規(guī)則和策略來處理流量。常見的數(shù)據(jù)面包括Envoy、HAProxy、Nginx等。
  • 控制面則負(fù)責(zé)管理和配置數(shù)據(jù)面,包括配置服務(wù)發(fā)現(xiàn)、健康檢查、鑒權(quán)規(guī)則、負(fù)載均衡策略等。常見的控制面包括Istio、SmartStack等。控制面與數(shù)據(jù)面的配合使得服務(wù)網(wǎng)格能夠靈活地管理和控制服務(wù)之間的通信,實現(xiàn)高度可靠和可擴展的微服務(wù)架構(gòu)。

控制面

服務(wù)網(wǎng)格的控制面是指服務(wù)網(wǎng)格架構(gòu)中負(fù)責(zé)管理和配置數(shù)據(jù)面的部分。它通常由一組組件組成,這些組件負(fù)責(zé)實現(xiàn)服務(wù)發(fā)現(xiàn)、流量管理、安全控制、監(jiān)控、故障處理等功能。控制面的主要任務(wù)是為數(shù)據(jù)面提供所需的配置信息,以確保服務(wù)網(wǎng)格能夠按照預(yù)期的方式運行,并滿足各種業(yè)務(wù)需求和運維要求。

圖片圖片

服務(wù)發(fā)現(xiàn)

管理和維護服務(wù)注冊表,跟蹤服務(wù)實例的可用性和位置,以便數(shù)據(jù)面能夠?qū)⒘髁空_地路由到目標(biāo)服務(wù)。

流量管理

配置負(fù)載均衡、路由規(guī)則、限流策略等,以確保流量能夠按照預(yù)期的方式在服務(wù)之間進行傳輸,并保證服務(wù)的可用性和性能。

安全控制

實施安全策略,例如認(rèn)證、授權(quán)、加密解密等,以保護服務(wù)之間的通信安全,并防止未經(jīng)授權(quán)的訪問和數(shù)據(jù)泄露。

監(jiān)控和指標(biāo)收集

收集和分析服務(wù)之間的通信數(shù)據(jù)、性能指標(biāo)和錯誤信息,以便進行故障診斷、性能優(yōu)化和資源規(guī)劃。

故障處理

實施故障檢測、熔斷、重試等機制,以確保在服務(wù)發(fā)生故障或不可用時能夠及時地進行處理,保障整個系統(tǒng)的穩(wěn)定性和可靠性。

常見的服務(wù)網(wǎng)格控制面包括 Istio、Linkerd 控制平面等。這些控制面組件通常以集群部署方式運行,與數(shù)據(jù)面組件(如 Envoy、HAProxy 等)協(xié)同工作,共同構(gòu)建出高度可靠和高度可擴展的服務(wù)網(wǎng)格架構(gòu)。

服務(wù)網(wǎng)格的優(yōu)點

解耦微服務(wù)業(yè)務(wù)架構(gòu)和服務(wù)控制

服務(wù)網(wǎng)格實現(xiàn)了微服務(wù)業(yè)務(wù)邏輯與底層服務(wù)控制的解耦。微服務(wù)只需專注于實現(xiàn)自己的業(yè)務(wù)邏輯,而不必在代碼中繁瑣配置與服務(wù)通信相關(guān)的依賴庫和配置項。這種解耦使得微服務(wù)開發(fā)更加簡潔和高效。

抽象共性需求,統(tǒng)一實現(xiàn)

服務(wù)網(wǎng)格將微服務(wù)中常見的共性需求(如流量統(tǒng)計、trace埋點、限流控制等)抽象出來,作為統(tǒng)一的實現(xiàn)層。這些功能由基礎(chǔ)架構(gòu)團隊負(fù)責(zé)實現(xiàn),并通過服務(wù)網(wǎng)格的統(tǒng)一部署方式,為所有微服務(wù)提供支持。這樣一來,不同微服務(wù)間不再需要重復(fù)編碼這些通用功能,極大地提高了開發(fā)效率和代碼復(fù)用性。

業(yè)務(wù)開發(fā)者專注于業(yè)務(wù)邏輯

有了服務(wù)網(wǎng)格,業(yè)務(wù)開發(fā)者不再需要分心關(guān)注微服務(wù)的共性需求和底層服務(wù)控制,可以更專注地投入到業(yè)務(wù)邏輯的實現(xiàn)上。這使得開發(fā)人員能夠更快速、高效地迭代業(yè)務(wù)功能,加速產(chǎn)品上線和迭代。

統(tǒng)一升級和維護

服務(wù)網(wǎng)格的統(tǒng)一實現(xiàn)層由基礎(chǔ)架構(gòu)團隊負(fù)責(zé)升級和維護,業(yè)務(wù)開發(fā)者無需擔(dān)心底層服務(wù)控制的變化和更新。這降低了微服務(wù)的維護成本,同時保證了整個微服務(wù)架構(gòu)的穩(wěn)定性和可靠性。

提升組織效率

通過將共性需求抽象為服務(wù)網(wǎng)格的統(tǒng)一實現(xiàn)層,并由基礎(chǔ)架構(gòu)團隊統(tǒng)一維護,服務(wù)網(wǎng)格提高了組織的整體效率。業(yè)務(wù)開發(fā)者能夠更專注于業(yè)務(wù)功能的實現(xiàn),基礎(chǔ)架構(gòu)團隊則負(fù)責(zé)提供穩(wěn)定可靠的底層服務(wù)控制,使得整個組織能夠更快速、高效地實現(xiàn)業(yè)務(wù)目標(biāo)。

服務(wù)網(wǎng)格的技術(shù)棧

服務(wù)網(wǎng)格的技術(shù)棧通常包括以下幾個方面的技術(shù)和工具

代理和數(shù)據(jù)面

  • 代理和數(shù)據(jù)面組件負(fù)責(zé)處理服務(wù)之間的通信流量,執(zhí)行負(fù)載均衡、安全性、監(jiān)控等功能。

Envoy

HAProxy

NGINX

控制面

  • 控制面負(fù)責(zé)管理和配置數(shù)據(jù)面,實現(xiàn)服務(wù)發(fā)現(xiàn)、流量管理、安全控制、監(jiān)控等功能。

Istio

Linkerd

Consul

監(jiān)控和指標(biāo)收集

  • 監(jiān)控和指標(biāo)收集組件用于收集和分析服務(wù)之間的通信數(shù)據(jù)、性能指標(biāo)和錯誤信息。

Prometheus

Grafana

Zipkin

Jaeger

安全性和鑒權(quán)

  • 安全性和鑒權(quán)組件用于實現(xiàn)對服務(wù)之間通信的加密、認(rèn)證和授權(quán)。

JWT(JSON Web Token)

OAuth2

SPIFFE(Secure Production Identity Framework for Everyone)

服務(wù)發(fā)現(xiàn)

  • 服務(wù)發(fā)現(xiàn)組件用于發(fā)現(xiàn)和注冊微服務(wù)實例,以便其他服務(wù)能夠動態(tài)地找到并與它們進行通信。常見的服務(wù)發(fā)現(xiàn)工具包括

Consul

etcd

ZooKeeper

流量管理

  • 流量管理組件用于配置負(fù)載均衡、路由規(guī)則、限流策略等,以確保流量能夠按照預(yù)期的方式在服務(wù)之間進行傳輸。

Kong

Traefik

Ambassador

熔斷和故障處理

  • 熔斷和故障處理組件用于實現(xiàn)故障檢測、熔斷、重試等機制,以確保在服務(wù)出現(xiàn)故障或不可用時能夠進行適當(dāng)?shù)奶幚怼?/li>

Hystrix

Istio Circuit Breaker

我們來總結(jié)一下,服務(wù)網(wǎng)格的技術(shù)棧涵蓋了代理和數(shù)據(jù)面、控制面、監(jiān)控和指標(biāo)收集、安全性和鑒權(quán)、服務(wù)發(fā)現(xiàn)、流量管理以及熔斷和故障處理等方面的技術(shù)和工具。

技術(shù)棧圖

我們可以使用plantuml畫出對應(yīng)的用例圖

@startuml


left to right direction


actor 用戶 as User


package "服務(wù)網(wǎng)格技術(shù)棧" {
    usecase "代理和數(shù)據(jù)面" as Proxy
    usecase "控制面" as ControlPlane
    usecase "監(jiān)控和指標(biāo)收集" as Monitoring
    usecase "安全性和鑒權(quán)" as Security
    usecase "服務(wù)發(fā)現(xiàn)" as ServiceDiscovery
    usecase "流量管理" as TrafficManagement
    usecase "熔斷和故障處理" as CircuitBreaker


    User --> Proxy : 發(fā)送請求
    User --> ControlPlane : 配置服務(wù)規(guī)則
    User --> Monitoring : 查看監(jiān)控數(shù)據(jù)
    User --> Security : 進行認(rèn)證和授權(quán)
    User --> ServiceDiscovery : 發(fā)現(xiàn)可用服務(wù)
    User --> TrafficManagement : 配置負(fù)載均衡
    User --> CircuitBreaker : 設(shè)置故障處理策略


    ControlPlane --> Proxy : 下發(fā)配置
    ControlPlane --> Monitoring : 收集指標(biāo)
    ControlPlane --> Security : 實施安全策略
    ControlPlane --> ServiceDiscovery : 更新服務(wù)列表
    ControlPlane --> TrafficManagement : 配置路由規(guī)則
    ControlPlane --> CircuitBreaker : 觸發(fā)熔斷


    Proxy --> ControlPlane : 上報狀態(tài)
    Proxy --> Monitoring : 發(fā)送監(jiān)控數(shù)據(jù)
    Proxy --> Security : 執(zhí)行安全操作
    Proxy --> ServiceDiscovery : 查詢服務(wù)列表
    Proxy --> TrafficManagement : 處理流量策略
    Proxy --> CircuitBreaker : 進行故障檢測


    Monitoring --> ControlPlane : 提供監(jiān)控數(shù)據(jù)
    Monitoring --> Proxy : 收集代理狀態(tài)
    Monitoring --> Security : 記錄安全事件
    Monitoring --> ServiceDiscovery : 分析服務(wù)拓?fù)?    Monitoring --> TrafficManagement : 分析流量分布
    Monitoring --> CircuitBreaker : 監(jiān)控故障情況
}


@enduml

圖片圖片

這個用例圖描述了服務(wù)網(wǎng)格技術(shù)棧中各個組件之間的交互關(guān)系以及用戶如何使用這些技術(shù)來實現(xiàn)不同的功能。

用戶

表示使用服務(wù)網(wǎng)格的終端用戶或系統(tǒng)用戶,他們通過與不同的技術(shù)組件進行交互,來達到他們的目標(biāo)。

代理和數(shù)據(jù)面

代表了處理服務(wù)之間通信流量的組件。它們與用戶交互,處理用戶發(fā)送的請求,并向控制面報告狀態(tài)。同時,它們也與控制面、監(jiān)控和指標(biāo)收集、安全性和鑒權(quán)、服務(wù)發(fā)現(xiàn)、流量管理以及熔斷和故障處理等組件進行交互,以執(zhí)行相應(yīng)的功能。

控制面

負(fù)責(zé)管理和配置數(shù)據(jù)面,實現(xiàn)服務(wù)發(fā)現(xiàn)、流量管理、安全控制、監(jiān)控等功能。它接收來自用戶的配置請求,并將配置信息下發(fā)到數(shù)據(jù)面,同時收集來自數(shù)據(jù)面的狀態(tài)和監(jiān)控信息,以便進行相應(yīng)的調(diào)整和優(yōu)化。

監(jiān)控和指標(biāo)收集

負(fù)責(zé)收集和分析服務(wù)之間的通信數(shù)據(jù)、性能指標(biāo)和錯誤信息。它與用戶交互,提供監(jiān)控數(shù)據(jù)給用戶查看,并與控制面、代理和數(shù)據(jù)面等組件進行交互,以實現(xiàn)監(jiān)控和診斷功能。

安全性和鑒權(quán)

實施對服務(wù)之間通信的加密、認(rèn)證和授權(quán)。它與用戶進行交互,執(zhí)行安全操作,并與控制面、代理和數(shù)據(jù)面等組件進行交互,以保護服務(wù)之間的通信安全。

服務(wù)發(fā)現(xiàn)

負(fù)責(zé)發(fā)現(xiàn)和注冊微服務(wù)實例,以便其他服務(wù)能夠動態(tài)地找到并與它們進行通信。它與用戶交互,提供服務(wù)發(fā)現(xiàn)功能,并與控制面、代理和數(shù)據(jù)面等組件進行交互,以更新服務(wù)列表和服務(wù)拓?fù)洹?/p>

流量管理

負(fù)責(zé)配置負(fù)載均衡、路由規(guī)則、限流策略等,以確保流量能夠按照預(yù)期的方式在服務(wù)之間進行傳輸。它與用戶進行交互,提供流量管理功能,并與控制面、代理和數(shù)據(jù)面等組件進行交互,以配置和調(diào)整流量策略。

熔斷和故障處理

負(fù)責(zé)實施故障檢測、熔斷、重試等機制,以確保在服務(wù)出現(xiàn)故障或不可用時能夠進行適當(dāng)?shù)奶幚怼Kc用戶進行交互,提供熔斷和故障處理功能,并與控制面、代理和數(shù)據(jù)面等組件進行交互,以監(jiān)控和處理故障情況。

責(zé)任編輯:武曉燕 來源: 海燕技術(shù)棧
相關(guān)推薦

2022-08-16 09:05:39

Kubernetes權(quán)限管理

2024-09-27 12:04:48

2024-08-12 11:22:10

2020-04-29 14:33:49

微服務(wù)網(wǎng)關(guān)Kong

2022-07-31 20:00:59

云原生云計算

2018-08-28 18:11:40

華為云

2023-06-18 19:21:04

技術(shù)架構(gòu)服務(wù)網(wǎng)格

2022-11-24 14:21:27

微服務(wù)ISTIO

2020-01-07 09:25:02

服務(wù)網(wǎng)格微服務(wù)Kubernetes

2020-11-15 23:48:57

服務(wù)網(wǎng)格微服務(wù)網(wǎng)絡(luò)網(wǎng)絡(luò)技術(shù)

2022-05-16 08:00:00

服務(wù)網(wǎng)格架構(gòu)Kuma

2024-07-08 12:40:18

MySQL索引失效

2019-08-29 08:00:00

微服務(wù)架構(gòu)服務(wù)網(wǎng)格

2020-07-13 07:00:03

微服務(wù)服務(wù)網(wǎng)格架構(gòu)

2021-04-25 08:48:36

Traefik mes服務(wù)網(wǎng)格Kubernetes集

2020-10-21 13:31:53

服務(wù)網(wǎng)格開源微服務(wù)

2023-05-11 08:16:13

可視化監(jiān)控工具Kafka

2020-01-31 14:12:53

云計算HPC無服務(wù)器

2020-08-26 05:45:40

服務(wù)網(wǎng)格DevOps開發(fā)

2020-10-10 10:37:54

微服務(wù)架構(gòu)技術(shù)API
點贊
收藏

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

主站蜘蛛池模板: 依人成人 | 91超碰caoporn97人人 | 黄色网页在线 | 日韩精品一区二区不卡 | 国产精品777一区二区 | 国产最新网址 | 喷潮网站 | av黄色在线| 999国产精品视频免费 | 91免费在线看 | 国产精品一区二区三区久久久 | 亚洲精品小视频在线观看 | 一呦二呦三呦国产精品 | 欧美激情久久久久久 | 久久免费观看视频 | 亚洲成人精品 | 午夜不卡福利视频 | av网址在线 | 久久精品国产久精国产 | 我想看国产一级毛片 | 欧美成人激情 | 亚洲综合天堂 | 午夜影院网站 | 成人精品免费视频 | a级大片免费观看 | 波多野吉衣久久 | 91视视频在线观看入口直接观看 | www.887色视频免费 | 欧美精品一区在线 | 日本涩涩网 | 日韩一区二区三区视频在线观看 | 欧美一区永久视频免费观看 | 国产一级免费视频 | 国产一区二区三区高清 | 中文字幕一区二区三区在线视频 | 欧美小视频在线观看 | 国产 日韩 欧美 制服 另类 | 福利视频大全 | 中文字幕 欧美 日韩 | 91免费小视频 | 日韩一级免费观看 |