1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Go 開源說第九期:go chassis——微服務(wù)開發(fā)框架

        共 1818字,需瀏覽 4分鐘

         ·

        2021-04-28 16:43


        點(diǎn)擊藍(lán)字

        關(guān)注我們


        本文由“GO開源說”第九期 《go chassis——微服務(wù)開發(fā)框架》直播內(nèi)容修改整理而成,視頻內(nèi)容較長(zhǎng),本文內(nèi)容有所刪減和重構(gòu)。


        在2020年上海Gopher?會(huì)上,我分享了主題“華為云的Go語?云原?實(shí)踐”。其中講述了我們使?Go語?構(gòu)建云服務(wù)的經(jīng)驗(yàn),并講述了Go chassis的理念和設(shè)計(jì)。本次開源說,我將講述它的設(shè)計(jì)與思考,以及我們?cè)谖⒎?wù)落地中的經(jīng)驗(yàn)和踩坑。更加具體的信息請(qǐng)觀看直播


        我將簡(jiǎn)單的回顧下?會(huì)的內(nèi)容并講述今天的主題

        Go chassis的誕?背景

        • 規(guī)劃范:規(guī)范化的框架可以在微服務(wù)架構(gòu)下落地通?能?

        • 成本:云服務(wù)資源占?成本降低

        • 異構(gòu)服務(wù):?個(gè)后臺(tái)服務(wù)可能有多種具體實(shí)現(xiàn)

        • 基線化需求:提供通?能?,引?即?效,?需編碼



        圖中最上邊的部分為?于管控的服務(wù),中間是微服務(wù)框架主要處理的部分,也就是系統(tǒng)內(nèi)部東?向的流量。業(yè)務(wù)流量都要經(jīng)過這?,通過管控服務(wù)進(jìn)?微服務(wù)的管理。最下邊的部分是插件化的組件,插件接?規(guī)范內(nèi)置在框架中,通過import?式顯示引?插件。


        設(shè)計(jì)上的考慮


        什么是個(gè)好的微服務(wù)開發(fā)框架,應(yīng)該是在最?化業(yè)務(wù)適配量和學(xué)習(xí)曲線為前提下,最?化的提升?個(gè)團(tuán)隊(duì)的?產(chǎn)效率和交付的服務(wù)質(zhì)量


        面向故障的注冊(cè)發(fā)現(xiàn)設(shè)計(jì)


        中?化的服務(wù)總是?臨的穩(wěn)定性的挑戰(zhàn),看似簡(jiǎn)單的注冊(cè)發(fā)現(xiàn),其實(shí)有著很多的設(shè)計(jì)考慮,也經(jīng)過了?量的現(xiàn)?考驗(yàn)。注冊(cè)中?實(shí)際上?臨的是注冊(cè),?跳,發(fā)現(xiàn)3種不同的流量。隨著微服務(wù)實(shí)例的增多,流量增加?然?臨了很多問題。所以在做這??設(shè)計(jì)和編寫代碼時(shí),應(yīng)該?向故障去思考。

        ?如:

        • 使?避讓算法進(jìn)?重試 -- 避免調(diào)??暴

        • 中?斷服不影響業(yè)務(wù)系統(tǒng) -- 保證業(yè)務(wù)不斷服

        • 只拉取??關(guān)?的服務(wù) -- 減少數(shù)據(jù)量,即減少c/s兩端的cpu和內(nèi)存壓?

        • 不可變實(shí)例ID -- 避免負(fù)載均衡不均勻



        本地緩存設(shè)計(jì)


        通過緩存可以應(yīng)對(duì)中?斷服,另外完全中?的API設(shè)計(jì),可以允許任意注冊(cè)中?的接?,?如Consul,Eureka,Service Center。開放性的緩存API也允許你隨時(shí)訪問,開發(fā)定制特性


        通信協(xié)議中立設(shè)計(jì)



        ?論是http還是grpc,在框架內(nèi)核處理的過程中都會(huì)被標(biāo)準(zhǔn)化為Invocation統(tǒng)?模型,路由管理,調(diào)?鏈跟蹤,限流等能?都基于該模型進(jìn)?開發(fā),這樣當(dāng)你要進(jìn)?定制協(xié)議時(shí),就可以復(fù)?同?份邏輯,?在?絡(luò)中傳輸?shù)倪^程中依然是原?的協(xié)議,所以和其他?態(tài)的集成也是開放性的,不存在任何私有協(xié)議在?絡(luò)上傳輸。


        路由管理設(shè)計(jì)


        有了注冊(cè)發(fā)現(xiàn),統(tǒng)?緩存,協(xié)議中?的設(shè)計(jì),我們就能設(shè)計(jì)統(tǒng)?的路由管理能?。可以基于任意微服務(wù)元數(shù)據(jù)定義路由規(guī)則來實(shí)現(xiàn)?絲雀發(fā)布,藍(lán)綠發(fā)布等能?。?路由的配置可以來?不同的數(shù)據(jù)源,?持?jǐn)U展,這部分能?有g(shù)o-archaius提供


        盡量兼容原本的編程模型

        我們提到學(xué)習(xí)成本,所以要盡量復(fù)?已知的知識(shí)



        曾經(jīng)踩過熔斷的坑

        https://juejin.im/post/5bd4169c6fb9a05cf9087a5c


        忠告所有使?熔斷和降級(jí)功能的朋友,使?之前要思考清楚,充分的進(jìn)?測(cè)試


        可觀察性


        只需要引?go chassis,他就會(huì)?動(dòng)幫你導(dǎo)出符合prometheus標(biāo)準(zhǔn)的數(shù)據(jù),以便于接?到現(xiàn)有的監(jiān)控系統(tǒng)中,以下是?些數(shù)據(jù),供參考,?如錯(cuò)誤數(shù),請(qǐng)求數(shù),延遲,業(yè)務(wù)處理時(shí)?等


        微服務(wù)框架和服務(wù)網(wǎng)格選擇困難?

        服務(wù)網(wǎng)格是下一代微服務(wù)?

        • 應(yīng)該共同使?么?

        • ?選?怎么選?

        • 我的業(yè)務(wù)到底適合哪種?案?

        從我的實(shí)踐經(jīng)驗(yàn)來看,其實(shí)沒有真正的銀彈,所以微服務(wù)框架和服務(wù)?格只會(huì)?期共存,所以我們才會(huì)?研mesher作為go chassis和spring cloud的補(bǔ)充。

        這就像是單體架構(gòu)還將永存?樣,存在是有他的合理性的。詳細(xì)的介紹請(qǐng)觀看直播。


        歡迎關(guān)注個(gè)?公眾號(hào):




        往期回顧

        Go 開源說第七期:Harbor助你玩轉(zhuǎn)云原生

        Go 開源說第五期:MOSN Go語言網(wǎng)絡(luò)代理軟件

        Go 開源說第四期(下):go-zero緩存管理最佳實(shí)踐




        ??  各位Gopher們,注意啦!

        別忘了還有 Gopher China2021 大會(huì)

        還沒報(bào)名的童鞋們趕快抓住最后的機(jī)會(huì)?。?!


        點(diǎn)擊這里閱讀原文,即刻報(bào)名~


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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            啊~好大~好爽 | 国语对白乱妇激情视频 | 強姦婬片A片AAA毛片Mⅴ | 男人操女逼 | 女美草逼 | 国产免费拔擦拔擦8x在线牛 | 久久五月天激情 | 干逼视频国产 | 天天爽天天干成人av一区二区三区 | 这里只有精品18 |