天天看點

你還在生産環境改代碼麼?函數計算版本管理(二)事件驅動模式中的使用

在了解了 函數計算版本管理的基本概念 後,我們來看看如何在事件驅動的模式中使用版本和别名。 阿裡雲函數計算 以事件驅動的方式連接配接其他服務。事件源是事件的生産者,函數是事件的處理者,而 觸發器

則提供了一種集中的和統一的方式來管理不同的事件源。當事件源觸發事件時,如果滿足觸發器定義的規則,事件源會自動調用關聯的函數處理事件。

在沒有使用版本管理的情況下,任何一次對函數的更改都像是在生産伺服器上進行開發一樣,是非常危險的。一個小小的bug就足以破壞所有依賴它的服務。

你還在生産環境改代碼麼?函數計算版本管理(二)事件驅動模式中的使用
如果我們釋出一個穩定的版本,并讓觸發器指向這個穩定版本,那接下來我們在“LATEST”版本上所做的任何開發都不會影響這個版本。當下一個版本準備就緒時,再将觸發器移動到新版本就好了。
你還在生産環境改代碼麼?函數計算版本管理(二)事件驅動模式中的使用
但是,對于一些單向內建的觸發器,我們必須要切換到事件源的控制台區更改。此外函數計算支援的觸發器種類繁多,每次釋出新版本都要去更新所有處理線上事件的觸發器也可能會很麻煩。這就是别名進入的地方。我們可以建立一個别名,讓觸發器指向它,并讓它指向一個穩定的版本。當我們釋出另一個版本時,需要做的就隻是更改别名指向的版本,非常友善!
你還在生産環境改代碼麼?函數計算版本管理(二)事件驅動模式中的使用

觸發器中如何指定版本或别名?

首先聲明觸發器本身并沒有版本,隻是指向服務某個版本下的函數。在

觸發器的基本資訊 中,“qualifier”字段用來存放觸發器指向的服務版本資訊。“qualifier”為可選字段,取值既可以是版本,也可以是别名。如不指定,則觸發器指向“LATEST”版本中的函數。以在控制台上建立HTTP觸發器為例,在“觸發版本/别名”中填入您指定的版本号或者别名即可。和觸發器的其他基本資訊一樣,“觸發版本/别名”是可以更改的。這也就意味着您通過更新觸發器指向的版本,就可以将線上流量,或是測試請求導向您指定的版本或别名。
你還在生産環境改代碼麼?函數計算版本管理(二)事件驅動模式中的使用

目前支援版本管理的觸發器有HTTP觸發器、定時觸發器、LogStore觸發器、API網管觸發器以及CDN事件觸發器,其他觸發器對版本管理的支援也在緊鑼密鼓地開發中,會陸續更新上線。

有了指向版本和别名的觸發器,就可以在事件驅動的模式下靈活使用版本管理了。讓我們再回顧一下:

1.     釋出穩定的版本,并建立一個别名指向這個版本。

2.     建立需要的觸發器,并讓觸發器指向别名。

3.     待LATEST上開發穩定後,釋出新版本,并更新别名指向這個新版本。

更多版本管理的進階用法和最佳實踐,會陸續釋出文章來介紹,敬請關注!

版本管理功能文檔:

繼續閱讀