<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>

          TSF微服務(wù)治理實(shí)戰(zhàn)系列(一)——治理藍(lán)圖

          共 4720字,需瀏覽 10分鐘

           ·

          2022-08-03 23:15


          導(dǎo)語(yǔ)


          隨著對(duì)微服務(wù)架構(gòu)的不斷深入探索,越來(lái)越多的企業(yè)加入到了微服務(wù)架構(gòu)中,體驗(yàn)微服務(wù)架構(gòu)在開(kāi)發(fā)、運(yùn)維、測(cè)試等方面帶來(lái)的優(yōu)勢(shì)。同時(shí),隨著企業(yè)中落地微服務(wù)架構(gòu)的案例越來(lái)越多,管理的服務(wù)、實(shí)例數(shù)量越來(lái)越大,微服務(wù)架構(gòu)的一些問(wèn)題也隨之而來(lái)。本系列文章將通過(guò)對(duì)服務(wù)治理這一專題的藍(lán)圖描繪和單獨(dú)介紹,與讀者一起探討微服務(wù)治理能力在諸多場(chǎng)景中的實(shí)戰(zhàn)應(yīng)用。


          作者簡(jiǎn)介


          崔凱                                                                        


          騰訊云 CSIG 微服務(wù)產(chǎn)品中心產(chǎn)品架構(gòu)師

          多年分布式、高并發(fā)電子商務(wù)系統(tǒng)的研發(fā)、系統(tǒng)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),擅長(zhǎng)主流微服務(wù)架構(gòu)技術(shù)平臺(tái)的落地和實(shí)施
          目前專注于微服務(wù)架構(gòu)相關(guān)中間件的研究推廣和最佳實(shí)踐的沉淀,致力于幫助企業(yè)完成數(shù)字化轉(zhuǎn)型。


          微服務(wù)和服務(wù)治理


          微服務(wù)架構(gòu)大約在2011年威尼斯的一個(gè)軟件架構(gòu)會(huì)議上被提出,到2014年由Martin Fowler、James Lewis共同發(fā)表文章《Microservices:a definition of this new architectural term》讓微服務(wù)紅極一時(shí),到今天已10年有余。


          在這段發(fā)展進(jìn)程中,微服務(wù)從被人質(zhì)疑到成為當(dāng)前云原生趨勢(shì)中不可或缺的角色,從一個(gè)概念到擁有相對(duì)完善的落地體系和方法論,其中都包含著對(duì)微服務(wù)架構(gòu)不斷的探索和堅(jiān)持。


          那么,在微服務(wù)架構(gòu)于企業(yè)中落地越來(lái)越多的當(dāng)下,微服務(wù)架構(gòu)的規(guī)模越來(lái)越大、服務(wù)和實(shí)例數(shù)量越來(lái)越多,也相應(yīng)的產(chǎn)生了更高階的服務(wù)治理需求。所以,服務(wù)治理逐漸成為了新的關(guān)注重點(diǎn)和研究對(duì)象。



          TSF和服務(wù)治理


          TSF作為騰訊云針對(duì)微服務(wù)架構(gòu)管理而設(shè)計(jì)的平臺(tái)型產(chǎn)品,服務(wù)治理是平臺(tái)建設(shè)的核心價(jià)值點(diǎn)之一。


          本實(shí)戰(zhàn)系列主要討論范圍包括TSF平臺(tái)中服務(wù)路由、服務(wù)鑒權(quán)、服務(wù)限流、服務(wù)熔斷容錯(cuò)、服務(wù)可觀測(cè)性、服務(wù)配置等服務(wù)治理核心能力(如下圖“微服務(wù)框架”中所示)。


          通過(guò)針對(duì)上述內(nèi)容的介紹,可以系統(tǒng)性的幫助讀者了解TSF在服務(wù)治理方面的核心能力,及針對(duì)企業(yè)自身場(chǎng)景應(yīng)如何選擇匹配的場(chǎng)景和動(dòng)作。如針對(duì)電商大促的場(chǎng)景如何進(jìn)行限流、針對(duì)灰度版本如何進(jìn)行全鏈路灰度發(fā)布等,幫助TSF平臺(tái)使用者實(shí)際解決服務(wù)治理相關(guān)的流量管控、鏈路排障、配置管理等一系列問(wèn)題。



          準(zhǔn)備動(dòng)作和落地思路


          在詳細(xì)了解TSF服務(wù)治理各項(xiàng)能力之前,有幾個(gè)問(wèn)題需要“捫心自問(wèn)”。


          現(xiàn)在是否是引入服務(wù)治理的好時(shí)機(jī)?


          服務(wù)治理并不是銀彈,服務(wù)規(guī)模和流量都比較小的初創(chuàng)企業(yè),適用服務(wù)治理的場(chǎng)景并不多。而對(duì)于一些中大型企業(yè),服務(wù)及實(shí)例的數(shù)量、并發(fā)數(shù)及流量、DB數(shù)據(jù)量等都開(kāi)始爆發(fā)性增長(zhǎng),服務(wù)治理才有其存在的必要性。另外,系統(tǒng)要基本完成微服務(wù)架構(gòu)的轉(zhuǎn)型,這個(gè)轉(zhuǎn)型包括面向團(tuán)隊(duì)、管理、中間件平臺(tái)等的轉(zhuǎn)變,最好也已完成容器化,這樣可以借助容器平臺(tái)來(lái)提高治理效率。


          引入服務(wù)治理前需要做什么準(zhǔn)備?


           開(kāi)發(fā)針對(duì)服務(wù)指定治理規(guī)則之前,還有幾項(xiàng)工作要提前準(zhǔn)備,包括但不限于系統(tǒng)調(diào)研、確定立項(xiàng)、組織分工


          系統(tǒng)調(diào)研

          在開(kāi)展服務(wù)治理工作之前,要對(duì)系統(tǒng)的必要信息充分了解,需要從一線最了解的同學(xué)那里匯總,如下表示例所示:

          調(diào)研事項(xiàng)

          調(diào)研內(nèi)容

          業(yè)務(wù)簡(jiǎn)介

          簡(jiǎn)單介紹業(yè)務(wù)的功能和業(yè)務(wù)邏輯

          應(yīng)用架構(gòu)

          通過(guò)應(yīng)用架構(gòu)圖闡述代碼、模塊間關(guān)系及服務(wù)間依賴等,使用的開(kāi)發(fā)框架、語(yǔ)言等

          物理架構(gòu)

          展示物理部署圖、調(diào)用關(guān)系圖

          數(shù)據(jù)量及并發(fā)

          描述當(dāng)前數(shù)據(jù)量及并發(fā)量的峰值、均值及如何發(fā)展

          當(dāng)前治理方式

          描述當(dāng)前已經(jīng)使用了哪些服務(wù)治理框架、工具

          中間件

          限流、路由等一些治理能力需要兼容MQ、Redis等一些中間件

          支撐平臺(tái)

          DevOps、容器平臺(tái)、監(jiān)控告警平臺(tái)等

          現(xiàn)存問(wèn)題

          描述在流量控制、配置管理等服務(wù)治理方面現(xiàn)存的客戶痛點(diǎn)問(wèn)題


          確定立項(xiàng)

          管理者與研發(fā)團(tuán)隊(duì)完成對(duì)服務(wù)治理目標(biāo)、面對(duì)的挑戰(zhàn)和成本等方面的討論,確定服務(wù)治理項(xiàng)目組并立項(xiàng)。其中,服務(wù)治理目標(biāo)的確定應(yīng)盡量務(wù)實(shí),以是否解決實(shí)際問(wèn)題入手,而不是“把這些高大上的治理能力都用上”。對(duì)于服務(wù)治理的成本預(yù)估,除了選型的沉沒(méi)成本、學(xué)習(xí)成本、開(kāi)發(fā)成本,還有關(guān)鍵的上線成本,一定關(guān)注開(kāi)發(fā)的review和測(cè)試的準(zhǔn)入準(zhǔn)出,避免開(kāi)發(fā)人員和測(cè)試人員對(duì)非功能性需求“不自覺(jué)的松懈”。


          組織分工

          細(xì)化服務(wù)治理工作,從項(xiàng)目管理?xiàng)l線和技術(shù)開(kāi)發(fā)條線分別規(guī)劃。項(xiàng)目管理?xiàng)l線需要依次確認(rèn)服務(wù)治理階段及階段目標(biāo),將服務(wù)治理劃分為各專項(xiàng)小組并確立接口人和匯報(bào)方式,制定從開(kāi)發(fā)、測(cè)試、投產(chǎn)保障、運(yùn)維監(jiān)控到培訓(xùn)賦能的服務(wù)治理落地計(jì)劃,確保服務(wù)治理的功能真正能在企業(yè)中用起來(lái)。技術(shù)條線除了完成服務(wù)治理上線所需的代碼改動(dòng)和發(fā)布,還需要逐步完善《服務(wù)治理FAQ》《服務(wù)治理規(guī)范手冊(cè)》等一系列知識(shí)沉淀,與《服務(wù)治理待辦清單》共同形成迭代閉環(huán),使得服務(wù)治理建設(shè)可持續(xù)優(yōu)化。


          TSF服務(wù)治理藍(lán)圖



           在完成了前期的準(zhǔn)備工作之后,需要先簡(jiǎn)單介紹一下TSF服務(wù)治理的藍(lán)圖,以便能對(duì)服務(wù)治理有個(gè)大致全面的概覽。雖然TSF服務(wù)治理涉及到很多方面,但總體來(lái)說(shuō),小編將它概括為 “三心兩意”。


          三心:所有的服務(wù)治理能力都是基于標(biāo)簽化管控、語(yǔ)言框架兼容、屏蔽底層差異三個(gè)核心來(lái)設(shè)計(jì)的。

          1:標(biāo)簽化管控

           指針對(duì)TSF服務(wù)治理各項(xiàng)能力針對(duì)不同的管控場(chǎng)景,提供了粗粒度的系統(tǒng)標(biāo)簽和細(xì)粒度的自定義標(biāo)簽兩種管控粒度。系統(tǒng)標(biāo)簽根據(jù)TSF自身設(shè)計(jì)原語(yǔ)劃分,如部署組、服務(wù)、應(yīng)用、版本等;自定義標(biāo)簽根據(jù)用戶自身業(yè)務(wù)屬性劃分,將控制粒度細(xì)化到每一個(gè)請(qǐng)求上,如用戶ID、時(shí)間、地域、用戶類別等。通過(guò)不同的管控粒度,平衡治理的成本和收益。


          2:語(yǔ)言框架兼容

           由于使用了不同的語(yǔ)言、開(kāi)發(fā)框架、通訊協(xié)議,就需要不同版本的SDK、不同形態(tài)的框架對(duì)接代碼、不同的調(diào)用方式,這種凌亂的形式給整個(gè)研發(fā)團(tuán)隊(duì)帶來(lái)了巨大的負(fù)擔(dān)。比如SDK升級(jí),首先要針對(duì)不同語(yǔ)言開(kāi)發(fā)SDK,其次要針對(duì)不同開(kāi)發(fā)框架做兼容,最后在升級(jí)的時(shí)候還要協(xié)調(diào)各個(gè)團(tuán)隊(duì)的升級(jí)時(shí)機(jī),挑戰(zhàn)非常巨大。TSF通過(guò)統(tǒng)一的管控平臺(tái),同時(shí)兼容Spring Cloud、Service Mesh及Dubbo框架,兼容HTTP、gRPC等多種協(xié)議,拉平了語(yǔ)言、框架、協(xié)議方面的差異,讓用戶專注于業(yè)務(wù)本身。


          3:屏蔽底層差異

           TSF作為一套通用的微服務(wù)技術(shù)平臺(tái),在各行各業(yè)都有不少落地案例。這就要求TSF必須具備適配客戶各類硬件資源、操作系統(tǒng)及已有架構(gòu),才能幫助客戶完成快速落地的目標(biāo)。TSF可以適配目前主流的虛擬機(jī)、容器平臺(tái),甚至某些場(chǎng)景下的物理機(jī),國(guó)產(chǎn)及騰訊云自研操作系統(tǒng),以及一些舊有的架構(gòu)體系。通過(guò)屏蔽這些差異,避免曾經(jīng)在各種平臺(tái)間切來(lái)切去的煩惱,讓用戶體驗(yàn)“同一套平臺(tái),同一種感受”。


          兩意:我們把服務(wù)治理分解為 “”和“”兩部分,以治作為配置手段,以理作為監(jiān)管手段。通過(guò)主動(dòng)的治和被動(dòng)的理的配合,形成治理規(guī)則不斷優(yōu)化和監(jiān)控效果不斷提高的正向循環(huán),讓服務(wù)治理能力融入企業(yè)的研發(fā)流程中。


          1:治

          治是主動(dòng)的管理動(dòng)作,包括針對(duì)安全的服務(wù)鑒權(quán),針對(duì)流量的服務(wù)限流、服務(wù)路由、服務(wù)熔斷,針對(duì)可用性的服務(wù)容錯(cuò),針對(duì)配置的應(yīng)用配置、日志配置等。


          2:理

          理是被動(dòng)的監(jiān)控分析,包括對(duì)已運(yùn)行服務(wù)指標(biāo)的監(jiān)控、服務(wù)間的依賴拓?fù)潢P(guān)系、拓?fù)滏溌放c業(yè)務(wù)日志的聯(lián)動(dòng)、業(yè)務(wù)日志搜索及監(jiān)控、API統(tǒng)一管理、各類事件的匯總及告警等。


          TSF-SDK通訊機(jī)制


          TSF-SDK各項(xiàng)服務(wù)治理能力總體上依賴了同一套架構(gòu),下圖以Spring Cloud應(yīng)用為示例。整個(gè)通訊過(guò)程主要包括租戶端的TSF-SDK,管控端的consul接入層、服務(wù)治理組件、瀏覽器。TSF-SDK通過(guò)pom引用內(nèi)嵌在JAVA應(yīng)用中,consul接入層負(fù)責(zé)與租戶端各服務(wù)的TSF-SDK連通,服務(wù)治理組件為提供各項(xiàng)服務(wù)治理邏輯的無(wú)狀態(tài)組件,瀏覽器主要供管理員通過(guò)控制臺(tái)頁(yè)面創(chuàng)建各類服務(wù)治理規(guī)則和配置。

          TSF-SDK服務(wù)治理規(guī)則、分布式配置、網(wǎng)關(guān)規(guī)則等配置的實(shí)時(shí)更新,依賴TSF-SDK定時(shí)發(fā)起的長(zhǎng)輪訓(xùn)機(jī)制。


          TSF-SDK的整個(gè)監(jiān)聽(tīng)過(guò)程分為兩種情況:阻塞時(shí)有內(nèi)容更新、阻塞時(shí)無(wú)內(nèi)容更新。在服務(wù)(應(yīng)用)完成注冊(cè)發(fā)現(xiàn)之后,TSF-SDK向Consul接入層發(fā)起一個(gè)長(zhǎng)輪詢請(qǐng)求,以便應(yīng)用側(cè)可以實(shí)時(shí)上報(bào)數(shù)據(jù),同時(shí)實(shí)時(shí)接收管控端下發(fā)的規(guī)則、應(yīng)用配置等數(shù)據(jù)。當(dāng)在長(zhǎng)輪詢請(qǐng)求有效期內(nèi)發(fā)生了治理規(guī)則推送,那么長(zhǎng)輪詢請(qǐng)求立刻返回被更新的內(nèi)容給TSF-SDK;當(dāng)長(zhǎng)輪詢請(qǐng)求持續(xù)等待直到超過(guò)了最大等待時(shí)間,請(qǐng)求也會(huì)返回,同時(shí)發(fā)起下次長(zhǎng)輪詢請(qǐng)求,以避免連接無(wú)限期等待帶來(lái)的風(fēng)險(xiǎn)。


          當(dāng)TSF-SDK拿到治理規(guī)則或配置后,實(shí)時(shí)更新本地內(nèi)容,并根據(jù)SDK內(nèi)邏輯進(jìn)行服務(wù)路由、服務(wù)鑒權(quán)、服務(wù)限流等一系列操作。整體流程基本相似,只是下發(fā)內(nèi)容和SDK處理邏輯不同。


          結(jié)語(yǔ)


          服務(wù)治理并不適用于所有場(chǎng)景,尤其不同的業(yè)務(wù)場(chǎng)景需要對(duì)應(yīng)的治理規(guī)則和參數(shù)配置,用的不好反而會(huì)成為業(yè)務(wù)的累贅。本實(shí)戰(zhàn)系列的目的也在于此,通過(guò)深入TSF各項(xiàng)服務(wù)治理能力和落地場(chǎng)景,讓讀者朋友了解TSF服務(wù)治理的正確打開(kāi)方式,實(shí)現(xiàn)構(gòu)建完整的服務(wù)治理體系的目標(biāo),通過(guò)治理手段提高業(yè)務(wù)可用性,幫助企業(yè)降本增效。


          One more thing


          近日,Spring Cloud Tencent 于6月14日正式對(duì)外開(kāi)源,作為騰訊開(kāi)源的一站式微服務(wù)框架,Spring Cloud Tencent 實(shí)現(xiàn)了 Spring Cloud 標(biāo)準(zhǔn)微服務(wù) SPI ,開(kāi)發(fā)者可以基于 Spring Cloud Tencent 快速開(kāi)發(fā) Spring Cloud 微服務(wù)架構(gòu)應(yīng)用。Spring Cloud Tencent 的核心依托騰訊開(kāi)源的一站式服務(wù)發(fā)現(xiàn)與治理平臺(tái)  Polarismesh ,實(shí)現(xiàn)各種分布式微服務(wù)場(chǎng)景。


          • 如果你也是 Spring Cloud 的愛(ài)好者

          • 如果你的公司正在使用 Spring Cloud 并且有一些好的實(shí)踐

          • 如果你的公司正在做微服務(wù)技術(shù)選型

          ... ...


          請(qǐng)加入我們,你的一個(gè)建議、Issue、Pull Request 甚至只是一個(gè)小小的 Star 都是對(duì)我們最大的支持,也是我們持續(xù)迭代的動(dòng)力。


          Github 地址(文末點(diǎn)擊「閱讀原文」即可跳轉(zhuǎn)至該鏈接):

          https://github.com/Tencent/spring-cloud-tencent

          掃碼進(jìn)Spring Cloud Tencent用戶交流群


          往期

          推薦


          《千億級(jí)、大規(guī)模:騰訊超大 Apache Pulsar 集群性能調(diào)優(yōu)實(shí)踐》

          《云原生時(shí)代的Java應(yīng)用優(yōu)化實(shí)踐》

          《全面兼容Eureka:PolarisMesh(北極星)發(fā)布1.5.0版本》

          《全面擁抱Go社區(qū):PolarisMesh全功能對(duì)接gRPC-Go | PolarisMesh12月月報(bào)》

          《SpringBoot應(yīng)用優(yōu)雅接入北極星PolarisMesh

          《Serverless可觀測(cè)性的價(jià)值》

          《RoP重磅發(fā)布0.2.0版本:架構(gòu)全新升級(jí),消息準(zhǔn)確性達(dá)100%》



          掃描下方二維碼關(guān)注本公眾號(hào),

          了解更多微服務(wù)、消息隊(duì)列的相關(guān)信息!

          解鎖超多鵝廠周邊!

          戳原文,查看更多微服務(wù)平臺(tái)TSF的信息!


          點(diǎn)個(gè)在看你最好看


          瀏覽 58
          點(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>
                  操逼好爽2828亚洲无码一区 | 免费无码不卡视频在线观看 | 色噜噜狠狠色综无码久久合欧美 | 成人毛片女人18女人 | 苍井空无码一区二区三区 |