<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微服務(wù)架構(gòu)即將被淘汰

          共 2083字,需瀏覽 5分鐘

           ·

          2021-02-25 21:46

          傳統(tǒng)的微服務(wù)即將過(guò)期,這并不是一個(gè)唬人的標(biāo)題。3年前 Kubernetes 剛興起的時(shí)候,我覺(jué)得這東西差不多 3 年能夠普及,畢竟他是實(shí)打?qū)嵉墓雀枋嗄耆萜骶幣诺木A。而今天我想安利的是網(wǎng)格化服務(wù)?這東西。

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

          微服務(wù)初期

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

          Kubernetes

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

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

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


          回首我們?cè)谖⒎?wù)那個(gè)青蔥歲月犯過(guò)的傻!

          項(xiàng)目開(kāi)始

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

          開(kāi)發(fā):沒(méi)啥問(wèn)題。服務(wù)開(kāi)始拆分,引入 springCloud 或者 dubbo 等框架,完工。(就是這么簡(jiǎn)單,沒(méi)有誰(shuí)比我更懂微服務(wù)了!)

          上線運(yùn)行

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

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

          開(kāi)發(fā):微服務(wù)太難搞了,日志,監(jiān)控,異常排查,

          服務(wù)部署,成本是之前的好幾倍。

          填坑之路

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

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

          初見(jiàn) kubernetes ,曾以為它能拯救全世界。

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

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

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

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


          豪門(mén)出身,不但有顏值還是個(gè)實(shí)力派(扎心了)

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

          • 徹底把業(yè)務(wù)和服務(wù)治理邏輯切分開(kāi)(沒(méi)有語(yǔ)言和框架依賴(lài))

          • 更靈活,更細(xì)粒度的流量管理

          • 監(jiān)控,日志,鏈路跟蹤提供編輯、統(tǒng)一的規(guī)范


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

          偷偷告訴你:在服務(wù)網(wǎng)格化的江湖里,消費(fèi)者和生產(chǎn)者直接不需要額外引入一個(gè)注冊(cè)中心,服務(wù)直接部署通信。這在網(wǎng)格化服務(wù)里本是一個(gè)不值得一提的點(diǎn),就是為了讓沒(méi)見(jiàn)過(guò)世面的你開(kāi)開(kāi)眼,免得其他太深?yuàn)W沒(méi)聽(tīng)明白失敬了。

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

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

          這個(gè)示例部署了一個(gè)用于演示多種 Istio 特性的應(yīng)用,該應(yīng)用由四個(gè)單獨(dú)的微服務(wù)構(gòu)成。這個(gè)應(yīng)用模仿在線書(shū)店的一個(gè)分類(lèi),顯示一本書(shū)的信息。頁(yè)面上會(huì)顯示一本書(shū)的描述,書(shū)籍的細(xì)節(jié)(ISBN、頁(yè)數(shù)等),以及關(guān)于這本書(shū)的一些評(píng)論。
          • productpage. 這個(gè)微服務(wù)會(huì)調(diào)用 details 和 reviews 兩個(gè)微服務(wù),用來(lái)生成頁(yè)面。
          • details. 這個(gè)微服務(wù)中包含了書(shū)籍的信息。
          • reviews. 這個(gè)微服務(wù)中包含了書(shū)籍相關(guān)的評(píng)論。它還會(huì)調(diào)用 ratings 微服務(wù)。(有3個(gè)版本)
          • ratings. 這個(gè)微服務(wù)中包含了由書(shū)籍評(píng)價(jià)組成的評(píng)級(jí)信息。


          以下是瀏覽器效果圖


          案例1 流量A/B 測(cè)試

          A/B 流量測(cè)試案例 1

          A/B 流量測(cè)試2

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

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

          productpage 訪問(wèn) detail,review,rating 的鏈路一目了然

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

          案例3 監(jiān)控

          雖然很常見(jiàn),但是你沒(méi)用過(guò)都不知道他有多便利多香

          部署腳本演示

          靈活的流量設(shè)置

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


          安利到這里,具體感興趣的話還是要靠你自己去嘗試。


          來(lái)源:https://www.toutiao.com/i6903536074665034243/


          瀏覽 49
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久免费视频| 一二三区一二三视频区 | 九九黄色小视频 | 爱情岛成人亚洲WWW论坛 | 日本一道本视频一二三 |