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

          這個神級功能,助你輕松搞定一套數(shù)百微服務(wù)的自測環(huán)境

          共 1839字,需瀏覽 4分鐘

           ·

          2022-05-16 14:18


          在日常開發(fā)中,能夠支持不同的開發(fā)者都有自己的測試環(huán)境是一件體感很爽的事情。然而,當(dāng)業(yè)務(wù)特點復(fù)雜時,一套測試環(huán)境中可能包含成千上百個服務(wù),在這種場景下復(fù)制一套可用的環(huán)境成本極其高。更甚者,因為部分微服務(wù)基礎(chǔ)架構(gòu)的原因,無法完整地復(fù)制出多套環(huán)境。工程師們只得將就地使用一套測試環(huán)境來做日常開發(fā)。環(huán)境不夠用、管理混亂、多人對同一個服務(wù)有變更訴求時必須彼此等待...面對這種情況,只能等等等,忍忍忍!

          開發(fā)者的煩惱


          1

          開發(fā)頻率快,業(yè)務(wù)驗證需求旺盛

          2

          業(yè)務(wù)復(fù)雜度高,環(huán)境復(fù)制難度高

          3

          微服務(wù)數(shù)量大,環(huán)境復(fù)制成本高

          4

          環(huán)境一致性差,版本混亂上線風(fēng)險高

          5

          環(huán)境不穩(wěn)定,開發(fā)被頻繁打斷,工程師體感差

          為解決上述痛點,在最新發(fā)布的 v1.11.0 版本中,Zadig 對環(huán)境的能力有了進(jìn)一步增強(qiáng):支持開發(fā)者用最低成本快速拉起包括部分服務(wù)的子環(huán)境,在子環(huán)境中開發(fā)、變更目標(biāo)服務(wù),并和包括全量服務(wù)的基準(zhǔn)環(huán)境交互來實現(xiàn)自測聯(lián)調(diào)。下面展開介紹。

          Zadig 自測模式

          自測模式是 Zadig 為降低環(huán)境管理復(fù)雜度和部署成本而推出的一種面向開發(fā)者的功能模塊。當(dāng)開啟了環(huán)境的自測模式后,該環(huán)境則成為基準(zhǔn)環(huán)境,開發(fā)者們可以基于基準(zhǔn)環(huán)境快速復(fù)制出屬于自己的自測環(huán)境(即:子環(huán)境),并且只關(guān)注和自己日常改動相關(guān)的服務(wù)。對于其上下游服務(wù)無需理會,基準(zhǔn)環(huán)境中會提供這部分服務(wù)的能力。圖示如下:


          適用場景

          Zadig 環(huán)境的自測模式能力尤其適用以下場景:


          1

          有一套完整的測試環(huán)境,但多人基于同一套環(huán)境協(xié)同合作開發(fā),測試環(huán)境資源有限,日常存在多名開發(fā)者互相等待環(huán)境的現(xiàn)象

          2

          業(yè)務(wù)規(guī)模大,服務(wù)數(shù)量級可觀,完整復(fù)制出多套測試環(huán)境的成本高

          3

          服務(wù)相互關(guān)聯(lián),受限于基礎(chǔ)架構(gòu),完整復(fù)制出多套測試環(huán)境的難度大

          4

          日常變更多,大量工程師協(xié)作,需要高頻的驗證


          如何使用

          下面以 simple-service 項目為例來說明如何使用環(huán)境的自測模式。項目中環(huán)境和服務(wù)背景,以及自測聯(lián)調(diào)需求說明如下:

          1. 項目中共包括 3 個微服務(wù) a、b、c,服務(wù)調(diào)用鏈路:a -> b -> c

          2. dev 環(huán)境為日常完整穩(wěn)定的測試環(huán)境,包括全部微服務(wù) a、b、c

          3. 日常會對 a 服務(wù)進(jìn)行高頻改動,希望能對 a 服務(wù)進(jìn)行充分自測,確定其變更可交付

          具體操作步驟如下。


          管理員:開啟自測模式


          dev 環(huán)境,開啟自測模式:

          這時會對自測模式的依賴條件做檢查:

          1. 系統(tǒng)無法自動檢查 Tracing 組件,需要管理員自行確保,此處支持較為廣泛應(yīng)用的 SkyWalking、Zipkin、Jaeger 等。

          2. 系統(tǒng)會對 Istio 是否安裝做自動檢查,如果沒有請在環(huán)境所在集群進(jìn)行安裝

          3. 服務(wù)調(diào)用鏈自動檢查,主要依據(jù)是有 K8s Service 類型的資源和服務(wù) a、b、c 對應(yīng)

          當(dāng)開啟自測模式后,dev 環(huán)境即成為基準(zhǔn)環(huán)境。


          工程師:日常自測聯(lián)調(diào)


          創(chuàng)建子環(huán)境


          在 dev 基準(zhǔn)環(huán)境中通過點擊創(chuàng)建子環(huán)境,選擇 a 服務(wù)可創(chuàng)建包含 a 服務(wù)的子環(huán)境 dev-test-env1

          子環(huán)境服務(wù)請求


          當(dāng)需要請求服務(wù) a 時,在請求的 Header 頭中加入 x-env:dev-test-env1 即可將請求流量轉(zhuǎn)發(fā)到子環(huán)境 dev-test-env1 中,實現(xiàn)子環(huán)境和 dev 環(huán)境的自測聯(lián)調(diào)。效果如下所示:


          1、未加 x-env 請求頭,直接請求服務(wù) a,dev 環(huán)境中的服務(wù) a/b/c 會處理請求,子環(huán)境中無請求流量輸入。


          2、增加 x-env: dev-test-env1 請求頭訪問服務(wù) a,子環(huán)境中的服務(wù) a 會接收到請求并給出響應(yīng),對于請求鏈路上的 b/c 服務(wù),dev 環(huán)境中的服務(wù)會給出正常響應(yīng)。


          展望

          開發(fā)者日常工作交互最頻繁的當(dāng)屬 IDE,Zadig 小伙伴也在緊鑼密鼓完善面向 IDE 的插件能力,結(jié)合 Zadig 自測模式,可以讓開發(fā)者輕松開發(fā)聯(lián)調(diào)又無需切換多個工作界面,大大提升開發(fā)者生產(chǎn)力和工作體驗。


          自測模式的推出,對降低環(huán)境管理復(fù)雜度和部署成本效果顯著,同時也非常期待社區(qū)小伙伴的反饋,一起打磨完善,同社區(qū)一起迭代更好的易用性!


          GitHub: https://github.com/koderover/zadig,歡迎大家前來圍觀。



          掃描以下二維碼,添加 KodeRover / Zadig 小伙伴,備注 【姓名-公司-城市】,即可加入我們的「Zadig 開源吐槽群」


          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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.操b | 国产白丝视频 | 日韩一级特别 | 国产 在线 激情 |