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

一文告訴你Istio和Spring Cloud該怎么選

開發(fā) 前端
Istio和Spring Cloud也太像了,他們都可以提供服務(wù)發(fā)現(xiàn)、負(fù)截均衡、限流、鏈路跟蹤、鑒權(quán)等微服務(wù)治理手段,那么二者的主要區(qū)別是什么呢?本文就會(huì)帶大家理解二者的區(qū)別。

相信了解SpringCloud的朋友在剛剛開始接觸Istio的時(shí)候一定會(huì)有一個(gè)疑問:Istio和 spring cloud也太像了,他們都可以提供服務(wù)發(fā)現(xiàn)、負(fù)截均衡、限流、鏈路跟蹤、鑒權(quán)等微服務(wù)治理手段,那么二者的主要區(qū)別是什么呢?本文就會(huì)帶大家理解二者的區(qū)別,如果您目前對(duì)微服務(wù)和 Service Mesh還不了解,那么請(qǐng)您忽略本文。

Istio 概述

Istio 是一個(gè)開源服務(wù)網(wǎng)格(Service Mesh),它透明地分層到現(xiàn)有的分布式應(yīng)用程序上。 Istio 強(qiáng)大的特性提供了一種統(tǒng)一和更有效的方式來保護(hù)、連接和監(jiān)視服務(wù)。 Istio 是實(shí)現(xiàn)負(fù)載平衡、服務(wù)到服務(wù)身份驗(yàn)證和監(jiān)視的路徑——只需要很少或不需要更改服務(wù)代碼。

它強(qiáng)大的控制平面帶來了重要的特點(diǎn),包括:

  • 使用 TLS 加密、強(qiáng)身份認(rèn)證和授權(quán)的集群內(nèi)服務(wù)到服務(wù)的安全通信。
  • 自動(dòng)負(fù)載均衡的 HTTP, gRPC, WebSocket,和 TCP 流量。
  • 通過豐富的路由規(guī)則、重試、故障轉(zhuǎn)移和故障注入對(duì)流量行為進(jìn)行細(xì)粒度控制。
  • 一個(gè)可插入的策略層和配置 API,支持訪問控制、速率限制和配額。
  • 對(duì)集群內(nèi)的所有流量(包括集群入口和出口)進(jìn)行自動(dòng)度量、日志和跟蹤。

SpringCloud概述

Spring Cloud為開發(fā)人員提供了用于快速構(gòu)建分布式系統(tǒng)中某些常見模式的工具(例如,配置管理,服務(wù)發(fā)現(xiàn),斷路器,智能路由,微代理,控制總線)。主要涉及的組件包括:
Eureka:注冊(cè)中心
Zuul:服務(wù)網(wǎng)關(guān)
Rbiibon:負(fù)載均衡
Feign:服務(wù)調(diào)用
Hystrix:熔斷器

Istio 和Spring Cloud的區(qū)別

大家會(huì)發(fā)現(xiàn):Istio和 spring cloud都可以提供服務(wù)發(fā)現(xiàn)、負(fù)截均衡、限流、鏈路跟蹤、鑒權(quán)等微服務(wù)治理手段,那么二者的主要區(qū)別是什么呢?

1、Istio 使用功能強(qiáng)大的 Envoy 服務(wù)代理擴(kuò)展了 Kubernetes,kubernetes本身是一個(gè)運(yùn)維平臺(tái),而Spring cloud只是一個(gè)開發(fā)框架,所以這就注定了Istio在運(yùn)維層面更為優(yōu)秀,下圖說明了kubernetes和Spring cloud的差異

Istio通過K8S API收集了Service信息來接管后續(xù)工作,把流量轉(zhuǎn)發(fā)控制權(quán)交給了由C++開發(fā)的Envoy,Envoy就是Istio的 Sidecar。因此Istio更注重運(yùn)維而Spring cloud更注重開發(fā);

2、Istio 支持多語言(Istio 實(shí)現(xiàn)了Service Mesh,而Service Mesh的核心是改變通信和服務(wù)治理能力的提供的方式,通過將這些能力實(shí)現(xiàn)從各語言業(yè)務(wù)實(shí)現(xiàn)中解耦,下沉到基礎(chǔ)設(shè)施層面,以一種更加通用和標(biāo)準(zhǔn)化的方式提供,屏蔽不同語言、不同平臺(tái)的差異性,有利于通信和服務(wù)治理能力的迭代和創(chuàng)新,使得業(yè)務(wù)實(shí)現(xiàn)更加方便。Service Mesh避免了多語言服務(wù)治理上的重復(fù)建設(shè),通過Service Mesh語言無關(guān)的通信和服務(wù)治理能力,助力于多語言技術(shù)棧的效率提升);SpringCloud體系的缺點(diǎn)是語言只能指定Java;

3、個(gè)人認(rèn)為最重要的是spring cloud 是侵入式微服務(wù),Istio是非侵入式微服務(wù)。在Istio中服務(wù)發(fā)現(xiàn),注冊(cè),調(diào)用,負(fù)載均衡,降級(jí)熔斷隔離,網(wǎng)關(guān)都是非侵入式的,不需要程序員關(guān)心,不需要加入依賴和注解。

從下面這張圖中,就可以更為清晰地看到,Istio與springcloud的差異

二者的選擇

看到這里,大家一定會(huì)認(rèn)為在Istio和SpringCloud的比較中,Istio會(huì)完勝!因?yàn)镮stio的出現(xiàn)為微服務(wù)架構(gòu)減輕了很多的負(fù)擔(dān),開發(fā)者不需要關(guān)心服務(wù)調(diào)用的超時(shí)、重試、rate limit 的實(shí)現(xiàn),服務(wù)之間的安全、授權(quán)也自動(dòng)得到了保證;集群管理員也能夠很方便地發(fā)布應(yīng)用(AB 測(cè)試和灰度發(fā)布),并且能清楚看到整個(gè)集群的運(yùn)行情況。

但是這并不表明有了 Istio 就可以高枕無憂了,Istio 只是把原來分散在應(yīng)用內(nèi)部的復(fù)雜性統(tǒng)一抽象出來放到了統(tǒng)一的地方,并沒有讓原來的復(fù)雜消失不見。因此我們需要維護(hù) Istio 整個(gè)集群,而 Istio 的架構(gòu)比較復(fù)雜,一般需要基于 kubernetes 之上,這兩個(gè)系統(tǒng)都比較復(fù)雜,而且它們的穩(wěn)定性和性能會(huì)影響到整個(gè)集群。

因此在采用Isito 之前,必須做好清楚的規(guī)劃,權(quán)衡它帶來的好處是否遠(yuǎn)大于額外維護(hù)它的花費(fèi),需要有相關(guān)的人才對(duì)整個(gè)網(wǎng)絡(luò)、kubernetes 和 Istio 都比較了解才行。下圖做了一個(gè)關(guān)于Istio和springcloud的總結(jié),大家可以自行判斷選擇哪種框架。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2019-03-14 15:59:44

前端開發(fā)編程

2024-01-30 09:58:00

IP屬地在線服務(wù)

2024-03-25 08:18:31

2019-03-19 15:28:30

Linux 系統(tǒng) 數(shù)據(jù)

2024-10-28 00:00:03

IP屬地地址

2021-04-25 21:18:27

技術(shù)開發(fā)爬蟲

2022-04-25 15:23:18

分布式系統(tǒng)故障

2022-08-26 12:46:04

NQA網(wǎng)絡(luò)質(zhì)量分析

2021-01-22 08:13:58

Java日期時(shí)間API

2018-04-26 04:20:42

數(shù)據(jù)科學(xué)簡歷編程

2021-04-09 13:23:27

比特幣貨幣數(shù)據(jù)

2022-05-06 08:09:28

代碼提交開發(fā)

2022-01-18 08:04:37

數(shù)據(jù)分析 Python

2020-03-23 20:40:25

比特幣數(shù)字貨幣區(qū)塊鏈

2020-07-13 09:16:04

Java集合

2018-03-01 18:15:10

2018-03-15 21:56:59

程序員技能Java

2019-08-16 08:30:22

數(shù)據(jù)庫PostgreSQL Oracle

2024-05-29 09:50:24

2018-10-22 08:14:04

點(diǎn)贊
收藏

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