自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談ISTIO服務(wù)網(wǎng)格

開發(fā) 架構(gòu)
微服務(wù)作為一種軟件的架構(gòu)風(fēng)格,已經(jīng)在軟件服務(wù)領(lǐng)域風(fēng)行多年。微服務(wù)本身的架構(gòu)也在演進(jìn)、迭代,service mesh就是下一代微服務(wù)的發(fā)展的方向。甚至可以說,service mesh是微服務(wù)時(shí)代的TCP/IP協(xié)議。Istio就是一個(gè)與K8S深度結(jié)合的service mesh服務(wù)平臺。

Part 02、istio到底做了什么工作

Buoyant的CEO William Morgan,也就是Service Mesh這個(gè)詞的發(fā)明人,對Service Mesh的定義為:“服務(wù)網(wǎng)格是一個(gè)基礎(chǔ)設(shè)施層,用于處理服務(wù)間通信。云原生應(yīng)用有著復(fù)雜的服務(wù)拓?fù)洌?wù)網(wǎng)格保證請求在這些拓?fù)渲锌煽康卮┧?。在?shí)際應(yīng)用當(dāng)中,服務(wù)網(wǎng)格通常是由一系列輕量級的網(wǎng)絡(luò)代理組成的,它們與應(yīng)用程序部署在一起,但對應(yīng)用程序透明。”

從上面的定義來看,我們可以總結(jié)以下service mesh或者說istio的幾個(gè)特點(diǎn):

1、 通過代理,保證服務(wù)與服務(wù)、服務(wù)與基礎(chǔ)設(shè)施間以及內(nèi)外部請求的可靠性,這樣的可靠不僅僅是代表網(wǎng)絡(luò)拓?fù)涞穆?lián)通性,還要考慮請求的負(fù)載均衡以及網(wǎng)絡(luò)問題下的熔斷。

2、 是集群的設(shè)施,對服務(wù)透明,不需要服務(wù)的強(qiáng)依賴,因此對服務(wù)的語言、框架也沒有特殊的要求。當(dāng)istio變更和升級時(shí)候,也不需要服務(wù)隨同升級。

3、 網(wǎng)絡(luò)控制和監(jiān)控粒度的細(xì)化。比如按照之前的灰度方式,基本上都是通過服務(wù)或者是網(wǎng)關(guān)服務(wù)進(jìn)行流量的分流,使用istio則通過基礎(chǔ)服務(wù)的代理配置分流的規(guī)則,從而保證研發(fā)對流量的深度控制。

Part 02、istio的實(shí)現(xiàn)框架

Istio服務(wù)網(wǎng)格可以劃為控制平面和數(shù)據(jù)平面,數(shù)據(jù)平面是代理組件以及服務(wù)通過代理進(jìn)行的請求,控制平面則對數(shù)據(jù)平面的組件進(jìn)行發(fā)現(xiàn)、配置、管控,是這個(gè)istio的大腦,不難看出,控制面實(shí)際上是一種中心化的設(shè)計(jì)。

圖片

圖1 istio部署視圖

宏觀上可以看作是代理組件之間在進(jìn)行數(shù)據(jù)的請求,而每個(gè)代理節(jié)點(diǎn)注冊到控制平面,有控制平面管控和調(diào)節(jié)代理節(jié)點(diǎn)(實(shí)際是代理節(jié)點(diǎn)所在的服務(wù))的路由。

圖片?

圖2 istio具體組件


控制平面主要組件包括Pilot, Mixer、Galley和Citadel

Mixer:顧名思義,在應(yīng)用和控制層組件間形成中間層,從而實(shí)現(xiàn)不同架構(gòu)的后端應(yīng)用與組件間的解耦,路由組件的上報(bào)信息直接發(fā)向Mixer,由Mixer來適配和轉(zhuǎn)發(fā)。

Pilot: 是Istio實(shí)現(xiàn)流量管理的核心組件,它主要的作用是配置和管理Envoy代理。

Citadel:是安全相關(guān)的組件,主要負(fù)責(zé)密鑰和證書的管理。

Galley:配置管理組件,負(fù)責(zé)配置的獲取和處理。

Part 03、istio實(shí)現(xiàn)請求的可視化

Istio tracing可以用來做什么呢?

1、服務(wù)依賴分析

2、性能/延遲優(yōu)化

3、平均時(shí)延的統(tǒng)計(jì)

4、請求慢的原因分析

Istio利用Envoy的分布式跟蹤功能提供開箱即用的跟蹤集成,我們可以選用Jaeger的追蹤平臺來實(shí)現(xiàn)。

具體來講,一個(gè)請求在服務(wù)間或者服務(wù)調(diào)用過程中,對相關(guān)的請求都在頭部添加一個(gè)id,通過Envoy收集相同id的來判斷是否在一個(gè)請求流程中。

圖片

圖3 trace原理

Jaeger組件收集到數(shù)據(jù)流信息后經(jīng)過聚合,可以圖形化展示接口調(diào)用的記錄以及單個(gè)接口具體的流程。

圖片

圖4 服務(wù)流量聚合


圖片

圖5 某個(gè)請求具體信息

實(shí)際上,收集請求的過程并非是透明且對應(yīng)用無感知的,而是會對istio造成一定的影響,因此我們可以選用較少的流量比例進(jìn)行采樣。

責(zé)任編輯:龐桂玉 來源: 移動Labs
相關(guān)推薦

2024-09-27 10:05:02

2023-11-01 08:08:22

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

2023-05-08 07:05:26

2022-07-01 18:36:17

云服務(wù)網(wǎng)絡(luò)

2023-06-18 19:21:04

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

2020-11-04 08:00:57

虛擬機(jī)stio網(wǎng)格

2020-11-15 23:48:57

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

2019-08-29 08:00:00

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

2021-11-08 10:17:48

gRPC Istio網(wǎng)格

2020-01-07 09:25:02

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

2022-08-09 08:00:00

服務(wù)網(wǎng)格云原生工具

2022-05-16 08:00:00

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

2018-08-28 18:11:40

華為云

2020-07-13 07:00:03

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

2021-04-02 22:00:50

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

2021-04-25 08:48:36

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

2020-10-21 13:31:53

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

2020-08-26 05:45:40

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

2021-08-27 11:42:51

Nacos云原生阿里云
點(diǎn)贊
收藏

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