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

再見,微服務(wù)!

開發(fā) 架構(gòu) 開發(fā)工具
傳統(tǒng)的微服務(wù)即將過時,這并不是一個唬人的標(biāo)題。3 年前 Kubernetes 剛興起的時候,我覺得這東西差不多 3 年能夠普及,畢竟他是實打?qū)嵉墓雀枋嗄耆萜骶幣诺木A。

傳統(tǒng)的微服務(wù)即將過時,這并不是一個唬人的標(biāo)題。3 年前 Kubernetes 剛興起的時候,我覺得這東西差不多 3 年能夠普及,畢竟他是實打?qū)嵉墓雀枋嗄耆萜骶幣诺木A。

[[356826]] 

圖片來自 Pexels

而今天我想安利的是網(wǎng)格化服務(wù)這東西,如下圖:

 

服務(wù)架構(gòu)的演進

微服務(wù)初期

產(chǎn)生了:Spring Cloud,Dubbo 等微服務(wù)框架,大部分的服務(wù)治理(熔斷,限流,服務(wù)編排,服務(wù)鏈路跟蹤)功能與框架甚至業(yè)務(wù)代碼強依賴。

Kubernetes

Kubernetes 是一個很杰出的軟件產(chǎn)品,在一定程度上解決了微服務(wù)所需的應(yīng)用編排,伸縮等問題,但是在流量治理,日志,監(jiān)控,指標(biāo)度量,等場景能力有限。

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

可以理解它是 Kubernetes 中期的產(chǎn)物(也許你還沒摸過 Kubernetes 初期的產(chǎn)物他就即將逝去),網(wǎng)格化服務(wù)可以彌補 Kubernetes 的不足,提供更為豐富的服務(wù)治理方案。

回首我們曾在微服務(wù)那個青蔥歲月犯過的傻!

①項目開始

老板:說我們要跟上時代,要用微服務(wù)。

開發(fā):沒啥問題。服務(wù)開始拆分,引入 Spring Cloud 或者 Dubbo 等框架,完工。(就是這么簡單,沒有誰比我更懂微服務(wù)了!)

②上線運行

老板:微服務(wù)上了,我們現(xiàn)在是不是可以像大公司那樣無停機發(fā)布了?

開發(fā):我們只是拆分了服務(wù),并沒有做其他的,這塊目前做不了。

開發(fā):微服務(wù)太難搞了,日志,監(jiān)控,異常排查,服務(wù)部署,成本是之前的好幾倍。

③填坑之路

引入大量中間件,代碼配合植入輔助功能,來實現(xiàn)日志采集,服務(wù)鏈路監(jiān)控,智能網(wǎng)關(guān),熔斷。

多語言異構(gòu)系統(tǒng):中間件難以兼容,Spring Cloud 支持的大部分微服務(wù)功能都只適用 Java 而已。and so on (等等,太痛苦了)

初見 Kubernetes ,曾以為它能拯救全世界。

Kubernetes 提供服務(wù)發(fā)現(xiàn)、配置管理、負載均衡和網(wǎng)關(guān)。既然這樣,那么是否就可以不再需要注冊中心和服務(wù)治理框架,只基于 Kubernetes 構(gòu)建微服務(wù)系統(tǒng)呢?

很多公司進行了這方面的嘗試,嘗試后發(fā)現(xiàn)從治理功能豐富度、大規(guī)模集群效率等方面,還是有不太滿意的地方:

  • 流量治理能力不足:缺乏熔斷能力,沒有灰度控制能力;
  • 大規(guī)模使用時的性能問題:基于 Kubernetes Service 的服務(wù)發(fā)現(xiàn)過程需要經(jīng)過 Iptables 或 IPVS 的查找過程,集群規(guī)模大時性能影響會比較明顯。
  • 日志,鏈路監(jiān)控,指標(biāo)度量等,依舊需要額外的組件以及業(yè)務(wù)代碼中需要加入輔助的代碼。

目前較為成熟的方案:使用 Kubernetes 部署+Spring Cloud(或 Dubbo 等),該方案在語言和框架依賴比較局限。

豪門出身,不但有顏值還是個實力派(扎心了)。

以 Istio 為代表的網(wǎng)格化服務(wù)橫空出世,徹底戰(zhàn)勝了傳統(tǒng)微服務(wù)在服務(wù)數(shù)量多,多語言的,在安全性、網(wǎng)絡(luò)流量控制、可觀察性等方面的挑戰(zhàn):

  • 徹底把業(yè)務(wù)和服務(wù)治理邏輯切分開(沒有語言和框架依賴)。
  • 更靈活,更細粒度的流量管理。
  • 監(jiān)控,日志,鏈路跟蹤提供編輯、統(tǒng)一的規(guī)范。

 

官網(wǎng)定義的四大功能

偷偷告訴你:在服務(wù)網(wǎng)格化的江湖里,消費者和生產(chǎn)者直接不需要額外引入一個注冊中心,服務(wù)直接部署通信。

這在網(wǎng)格化服務(wù)里本是一個不值得一提的點,就是為了讓沒見過世面的你開開眼,免得其他太深奧沒聽明白失敬了。

沒有繁瑣的服務(wù)搭建/框架圖,直接上部分案例:

 

案例的服務(wù)架構(gòu)圖

這個示例部署了一個用于演示多種 Istio 特性的應(yīng)用,該應(yīng)用由四個單獨的微服務(wù)構(gòu)成。這個應(yīng)用模仿在線書店的一個分類,顯示一本書的信息。

頁面上會顯示一本書的描述,書籍的細節(jié)(ISBN、頁數(shù)等),以及關(guān)于這本書的一些評論:

  • productpage:這個微服務(wù)會調(diào)用 details 和 reviews 兩個微服務(wù),用來生成頁面。
  • details:這個微服務(wù)中包含了書籍的信息。
  • reviews:這個微服務(wù)中包含了書籍相關(guān)的評論。它還會調(diào)用 ratings 微服務(wù)。(有 3 個版本)
  • ratings:這個微服務(wù)中包含了由書籍評價組成的評級信息。

以下是瀏覽器效果圖。

案例 1:流量 A/B 測試

 

A/B 流量測試案例 1

 

A/B 流量測試 2

同一系統(tǒng),jackson 登陸的跟沒有登陸的看到的界面效果是不同的。這一切的功勞都歸于 Istio,而不用你的代碼設(shè)置。(想想這么香的功能,自己是不是曾經(jīng)反反復(fù)復(fù)在自己代碼里面插入了很多埋點/配置)。

案例 2:服務(wù)鏈路跟蹤

 

productpage 訪問 detail,review,rating 的鏈路一目了然。

這種鏈路跟蹤不需要你代碼或者框架額外植入代碼。

案例 3:監(jiān)控

 

雖然很常見,但是你沒用過都不知道他有多便利,多香。

部署腳本演示

 

靈活的流量設(shè)置

 

輕輕松松實現(xiàn)故障植入的功能

作者:RJ不止于編程

編輯:陶家龍

出處:toutiao.com/i6903536074665034243/

責(zé)任編輯:武曉燕 來源: 頭條
相關(guān)推薦

2020-10-29 10:44:59

斗魚騰訊虎牙

2021-01-21 07:16:03

RocketMQKafka中間件

2024-07-02 10:58:53

2021-12-29 08:30:48

微服務(wù)架構(gòu)開發(fā)

2024-11-06 16:27:12

2018-12-12 09:59:47

微服務(wù)架構(gòu)分布式系統(tǒng)

2023-07-28 09:23:24

微服務(wù)架構(gòu)

2022-03-31 08:15:38

微服務(wù)服務(wù)拆分架構(gòu)

2021-01-14 09:55:21

Java微服務(wù)Go

2024-07-02 14:23:12

2022-03-29 08:30:15

微服務(wù)架構(gòu)單體架構(gòu)

2019-07-30 07:10:11

容器Docker軟件

2023-10-17 08:17:38

Jenkins開發(fā)

2021-02-20 09:01:05

網(wǎng)游仙劍姚壯憲

2012-04-02 20:10:04

2020-12-02 10:31:30

MySQL開源數(shù)據(jù)庫

2020-08-18 07:00:00

微服務(wù)開發(fā)架構(gòu)

2023-09-02 20:51:09

微服務(wù)業(yè)務(wù)服務(wù)

2023-09-07 23:25:34

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

2023-12-15 09:57:13

微服務(wù)鏈路服務(wù)
點贊
收藏

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