日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何保证 Serverless 业务部署更新的一致性?

發布時間:2024/9/3 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何保证 Serverless 业务部署更新的一致性? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:每一個工具的誕生,都要有一個成長的過程,Serverless Devs 正在不斷的成長。

從我做 Serverless 工具開始,就經常會遇到有人問這樣一個問題:如何保證Serverless業務部署更新的一致性。


所謂的一致性在這里指的是:我們通過工具在本地進行項目部署,此時再有人通過其他途徑(例如控制臺等),對項目進行過更新等操作,此時我再在本地進行項目部署,是不是會直接覆蓋?

例如,當用戶 A 在本地更新了業務,因為一些特殊情況,導致出現了一個線上異常情況“x”,此時用戶 B 重新更新,將這個內容修復了,但是 B 沒有及時同步給 A 這個事情,A 又更新了新的功能,直接覆蓋了 B的內容,這個時候之前的異常 x 又出現了,如果此時在 A 更新的時候,可以感知到線上資源已經變動,那么這種事情就不會再次發生。

目前基于 Serverless Devs 的阿里云函數計算組件,已經支持了線上“異動”的感知能力,包括了以下幾個情況:

  • 本地新建并部署一個線上沒有的資源
  • 本地部署完成,線上更新,本地再次部署
  • 本地新建并部署一個線上已經有的資源
  • 實驗準備


    通過s init創建一個函數(選擇Alibaba Cloud Serverless, 選擇HTTP Function - Python3 Example):

    此時我們查看一下s.yaml:

    該項目部署到線上之后的表現就是在cn-hangzhou區創建一個fc-deploy-service服務,以及http-trigger-function函數

    本地新建并部署一個線上沒有的資源


    此時,我們確定一下線上并沒有對應資源,所以我們部署一下:

    部署完成,很順利:

    打開瀏覽器,查看反饋給我們的自定義地址:

    此時,我們可以在本地,更新一下這個函數代碼:

    保存部署:

    完成之后,再查看線上資源:

    整個過程,還是比較貼近傳統的基本流程,也沒有觸發線上異動,算是中規中矩的理想過程。

    本地部署完成,線上更新,本地再次部署

    此時,我們對線上資源進行變更,首先在控制臺找到函數:

    修改代碼,并部署。

    部署完成之后,我們刷新一下剛才的地址:

    可以看到已經更新。此時,我們再從本地進行部署:

    可以看到,系統已經感知到我們的代碼變化,此時,我們選擇yes,完成之后在查看線上資源:

    此處需要額外說明的是,只要是函數計算的服務,函數,觸發器發生變化,此處都可以進行感知,不管是配置還是代碼。

    本地新建并部署一個線上已經有的資源


    此時,我們再進行最后的實驗,我們將本地項目刪除,重新建設。然后執行部署,由于剛剛實驗過的原因,我們已經在線上存在了這些資源,所以此時算是部署一個線上的資源。

    此時可以看到,系統感知到這個資源本地沒部署過,線上并且已經存在,所以此時需要確定是否覆蓋。

    總結


    代碼在其他場景被更新,需要我們在當前得到感知,這個事情其實是非常重要的,和代碼的安全發布密不可少。而此時,通過Serverless Devs是可以做到的。

    那么問題來了,如果我已經有了一個項目,我想集成到cd流程,我不想出現交互式操作,應該如何處理呢?

    此時我們提供一個--use-local參數,用來強行覆蓋線上配置,通過這樣的指令就可以實現無交互的,本地優先。

    每一個工具的誕生,都要有一個成長的過程,Serverless Devs正在不斷的成長。期待更多更好的功能出現。

    原文鏈接:https://developer.aliyun.com/article/785431?

    版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

    總結

    以上是生活随笔為你收集整理的如何保证 Serverless 业务部署更新的一致性?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。