日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Envoy代理轉(zhuǎn)發(fā)與xDS映射關(guān)系

[[429446]]

引言

Envoy作為Istio默認(rèn)數(shù)據(jù)面代理,它的工作流程是怎么樣的?本文通過示例運行,走查其運行流程,以及xDS協(xié)議映射。

目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、柏鄉(xiāng)網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

一、xDS

xDS 協(xié)議是“X Discovery Service”的簡寫,這里的“X”表示它不是指具體的某個協(xié)議,是一組基于不同數(shù)據(jù)源的服務(wù)發(fā)現(xiàn)協(xié)議的總稱,包括 CDS、LDS、EDS、RDS等。在Istio架構(gòu)中,基于xDS協(xié)議提供了標(biāo)準(zhǔn)的控制面規(guī)范,并以此向數(shù)據(jù)面?zhèn)鬟f服務(wù)信息和治理規(guī)則。在Envoy中,xDS被稱為數(shù)據(jù)平面 API,并且擔(dān)任控制平面Pilot和數(shù)據(jù)平面Envoy的通信協(xié)議。

CDS 是 Cluster Discovery Service的縮寫,Envoy使用它在進行路由的時候發(fā)現(xiàn)上游Cluster。Envoy通常會優(yōu)雅地添加、更新和刪除 Cluster。有了 CDS 協(xié)議,Envoy在初次啟動的時候不一定要感知拓?fù)淅锼械纳嫌蜟luster。在做路由 HTTP 請求的時候通過在 HTTP 請求頭里添加 Cluster信息實現(xiàn)請求轉(zhuǎn)發(fā)。

EDS 即Endpoint Discovery Service 的縮寫。在Envoy術(shù)語中,Endpoint即Cluster的成員。Envoy 通過 EDS API可以更加智能地動態(tài)獲取上游Endpoint。

LDS 即Listener Discovery Service的縮寫。基于此,Envoy 可以在運行時發(fā)現(xiàn)所有的Listener,包括 L3 和 L4 filter 等所有的 filter 棧,并由此執(zhí)行各種代理工作,如認(rèn)證、TCP 代理和 HTTP 代理等。添加 LDS 使得 Envoy 的任何配置都可以動態(tài)執(zhí)行。

RDS 即 Router Discovery Service 的縮寫,用于 Envoy 在運行時為 HTTP 連接管理 filter 獲取完整的路由配置,比如 HTTP 頭部修改等。并且路由配置會被優(yōu)雅地寫入而無需影響已有的請求。當(dāng) RDS 和 EDS、CDS 共同使用時,可以幫助構(gòu)建一個復(fù)雜的路由拓?fù)渌{(lán)綠發(fā)布等。

ADS EDS,CDS 等每個獨立的服務(wù)都對應(yīng)了不同的 gRPC 服務(wù)名稱。對于需要控制不同類型資源抵達(dá) Envoy 順序的需求,可以使用聚合發(fā)現(xiàn)服務(wù),即 Aggregated xDS,它可以通過單一的 gRPC 服務(wù)流支持所有的資源類型,借助于有序的配置分發(fā),從而解決資源更新順序的問題。

備注:上述概念摘自 https://www.servicemesher.com/istio-handbook/ecosystem/xds.html

二、Envoy代理示例

安裝部署

以mac版本為例,安裝看看

 
 
 
 
  1. brew update 
  2. brew install envoy 

版本檢查

 
 
 
 
  1. envoy --version 
  2.  
  3. envoy  version: a2a1e3eed4214a38608ec223859fcfa8fb679b14/1.19.1/Modified/RELEASE/BoringSSL 

下載示例yaml文件

 
 
 
 
  1. https://www.envoyproxy.io/docs/envoy/latest/_downloads/92dcb9714fb6bc288d042029b34c0de4/envoy-demo.yaml 

示例運行

 
 
 
 
  1. envoy -c envoy-demo.yaml 

訪問以下地址會路由轉(zhuǎn)發(fā)到Envoy官方地址「www.envoyproxy.io」

 
 
 
 
  1. http://localhost:10000/ 

三、邏輯走查

envoy-demo.yaml文件走查

概念

LDS(Listener Discovery Service):監(jiān)聽發(fā)現(xiàn)服務(wù)

RDS(Route Discovery Service):路由發(fā)現(xiàn)服務(wù)

CDS(Cluster Discovery Service):集群發(fā)現(xiàn)服務(wù)

EDS(Endpoint Discovery Service):集群成員發(fā)現(xiàn)服務(wù)

流程:

1.Listener通過監(jiān)聽端口(10000)將請求根據(jù)Route提供的策略轉(zhuǎn)發(fā)

2.Route可以配置路由規(guī)則,示例中轉(zhuǎn)發(fā)到名字為「service_envoyproxy_io」的cluster

3.Cluster中可以配置行為相同的多個EndPoint,多個EndPoint可以配置負(fù)載均衡策略

4.EndPoint最終轉(zhuǎn)發(fā)的節(jié)點地址

本文轉(zhuǎn)載自微信公眾號「瓜農(nóng)老梁」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系瓜農(nóng)老梁公眾號。


分享標(biāo)題:Envoy代理轉(zhuǎn)發(fā)與xDS映射關(guān)系
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/dpgsdds.html