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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

函数计算的开发与配置

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 函数计算的开发与配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 | 夏莞 阿里云函數計算開發工程師

導讀: 在本篇文章中“基本概念”部分主要對函數計算最核心的概念進行詳細介紹,包括服務、函數、觸發器、版本、別名以及相關的配置;“開發流程”部分介紹了基于函數計算開發的完整開發部署流程。

基本概念

1. 服務

服務是函數計算資源管理的單位,同一個服務下有很多函數,這些函數共享服務的網絡配置、權限配置、存儲配置、日志配置。

服務可以對應成一個“應用”,這個應用由很多函數共同組成,這些函數具有相同的訪問權限、網絡配置,日志也記錄到相同的 logstore。這些函數本身的配置可以各不相同,比如同一服務下有的函數內存是3G,有的函數內存是 512M,有些函數用 Python 寫,有些函數用 Node.js 寫。

當然,如果應用比較復雜,同一個應用也可以對應多個服務,這里沒有強綁定關系。

1)服務配置

接下來我們介紹服務的幾個核心配置:

日志配置: 開發者的代碼在函數計算平臺運行,如何查看函數運行產生的日志呢?在Server 化的開發方式中,日志都打到統一的文件中,通過 Logstash/Fluentd 這種日志收集工具收集到 ElasticSearch 中,并通過 Kibana 這種可視化工具查看日志及指標。但是在函數計算中,運行代碼的機器由函數計算動態分配,開發者無法自己收集日志,函數計算需要幫助開發者投遞日志。日志配置就是起到這個作用,配置 LogConfig 設置日志服務的 Project 和 Logstore,函數計算會將函數運行中產生的日志投遞到開發者的 Logstore 里。

但是為了成功投遞日志,單單配置 Logtore 還不夠,函數計算是沒有權限向開發者的 Logstore 投遞日志的,需要用戶授予函數計算向指定的 Logstore 寫數據的權限,有了這個授權后,函數計算就可以名正言順地向開發者的 Logstore 投遞日志了。

文件存儲配置: 函數計算中每個函數都是獨立的,在不同的執行環境中執行,如果用戶有一些公共文件希望多個函數共享怎么辦呢?在傳統 Server 化的開發方式中,好辦,將公共文件放到磁盤就好了,各個都去磁盤的同一位置讀取,函數計算中的機器是函數計算動態分配的,開發者無法事先將文件存入磁盤,那怎么辦呢?可以掛載 NAS,在服務中掛載 NAS 后,函數就可以像訪問本地文件系統一樣訪問 NAS 上的文件了。

網絡配置: 網絡配置顧名思義就是設置函數的網絡訪問能力,主要有兩種,一個是函數中是否可以訪問公網,這是個布爾型的開關,默認是開啟的,如果不需要訪問公網可以關閉開關。另一個是函數是否可以訪問指定 VPC,VPC 是專有網絡,專有網絡內的數據比較機密,是不能通過公共互聯網訪問的。如果需要函數訪問 VPC 內的資源,比如函數需要訪問 VPC 內的 RDS,那就需要授予函數計算訪問指定 VPC 的能力,原理是用戶授權賦予彈性網卡 ENI 訪問 VPC ,并將此 ENI 插入到 FC 中執行用戶函數的機器上,從而使函數可以訪問 VPC 內資源。

權限: 函數計算是云原生的架構,與云上許多服務產生交互,阿里云有非常嚴格的權限限制,函數計算是沒有能力訪問開發者的其他云資源的,當開發者需要函數計算訪問其他云服務的時候就需要顯示授予函數計算權限。

權限主要有兩個應用場景:一個是授予函數計算訪問其他服務的權限,比如剛才提到的授權函數計算訪問開發者的日志服務、授權函數計算創建 ENI。另一個是授權函數可以訪問開發者的云資源,這個是什么呢?舉個例子,函數中需要訪問 OSS 獲取對象,但是又不想暴露 AK,那怎么辦呢?開發者可以配置服務中的 Role 有訪問 OSS 的權限,函數執行過程中,函數計算會 assumeRole 生成一個臨時 AK ,并將這個 AK 存儲到函數的上下文 context.credentials 里,開發者在代碼中使用context.credentials.access_key_id``/``context.credentials.access_key_secret``/``context.credentials``.``security_token`` 去創建 OSS Client 就可以了。

2. 函數

“函數計算”中函數可謂是核心概念,函數是管理、運行的基本單元,一個函數通常由一系列配置與可運行代碼包組成。

1)函數配置

函數的配置如上圖所示:

  • Runtime 是函數運行時的環境類型: 函數計算目前支持 Node.js/Python/Java/C#/PHP 等開發環境,同時也支持 Custom Runtime 自定義運行時;
  • Code 是函數代碼包: 函數計算的后端是只認代碼包的,各個開發工具會自動幫您打包。比如您可以直接在控制臺上編寫代碼,控制臺會自動為您打包創建/更新函數,您可以在本地編寫/調試函數,通過命令行工具 Funcraft 部署到函數計算,Funcraft 也會幫您打包;
  • Handler 是入口函數: 您在代碼包中寫了好多函數,那函數計算到底從哪里開始執行呢,就從您指定的入口函數開始執行;
  • Timeout 是函數超時時間: 如果函數執行超過這個時間,函數會被強制停止執行;
  • MemorySize 是為函數分配的執行環境內存: 目前取值范圍是 128M~3G,如果函數耗用內存超過分配的內存,會 OOM;
  • Initializer 是初始化函數: 有什么用呢?之前我們介紹函數計算執行環境的時候講到,函數計算會為函數分配執行環境,第一次分配的時候會有冷啟動,當前請求執行完成后,函數計算也不會立即釋放,如果在一段時間內有新的請求到達會復用這個執行環境。Initializer 中的邏輯會在分配執行環境后執行,且保證同一個執行環境執行且只執行一次,那就可以將一些建立連接、加載依賴等耗時的操作放到 Initializer 函數中執行;
  • InitializerTimeout 就是 Initializer 函數的最大運行時間。

3. 觸發器

往期課程中介紹了函數計算支持的豐富的事件源類型,在事件驅動的計算模型中,事件源是事件的生產者,函數是事件的處理者,觸發器提供了一種集中、統一的方式來管理不同的事件源。當事件發生時,如果滿足觸發器定義的規則,事件源會自動調用觸發器所對應的函數。

典型的使用場景包括對上傳至 OSS 中的對象進行處理,比如圖像處理、音視頻轉碼、OSS zip 包解壓,以及對 SLS 中的日志進行清洗、處理、轉存,在指定時間觸發函數執行等等。

4. 版本&別名

上文介紹了服務、函數、觸發器,開發者就可以基于函數計算將應用搭建起來了,但又有一個新問題:開發者有了新需求需要更新代碼,如何保證線上應用不受影響,平滑迭代上線呢? 為了解決這個問題,函數計算引入了版本和別名。

版本相當于服務的快照,包括服務的配置、服務內的函數代碼及函數配置。當您開發和測試完成后,就發布一個版本,版本單調遞增,版本發布后,已發布的版本不能更改,您可以繼續在 Latest 版本上開發測試,不會影響已發布的版本。調用函數時,只需要指定版本就可以調用指定版本的函數。

那新問題又來了,版本名稱是函數計算指定的單調遞增的,每次發布版本,都會有一個新的版本,那每次發完版本后,客戶端還要改代碼執行最新的版本嗎? 為了解決這個問題呢,我們引入了別名,別名就是指向特定服務版本的指針,發布后,只需要將別名指向發布的版本,再次發布后,再切換別名指向最新的版本,客戶端只需要指定別名就可以保證調用線上最新的代碼。同時別名支持灰度發布的功能,即有 10% 的流量指向最新版本,90% 理論指向老版本。回滾也非常簡單,只需要將別名指向之前的版本即可快速完成回滾。

開發流程

如上圖所示,開發者首先創建服務,設置日志、權限等配置,然后創建函數,在當前版本(Latest 版本)下編寫代碼開發函數,測試通過后發布版本,第一次發布的版本為版本 1,創建別名 prod 指向版本 1,就可以對外提供服務了。

客戶端調用函數的日志會記錄在開發者配置的 Logstore 里,函數計算提供完備的監控圖表,應用上線后,開發者可以通過監控圖表和日志查看應用的健康狀況。

當開發者有新需求時,繼續在 Latest 版本更改代碼開發函數,測試通過后發布版本,這次發布的版本為版本 2,切換別名流量 10% 到版本 2,即可實現應用的灰度發布,觀察一段時間沒有問題,就可以切換 100% 的流量到版本 2 了。

總結

以上是生活随笔為你收集整理的函数计算的开发与配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 特色特色大片在线 | 免费黡色av | 少妇太爽了在线观看 | 日韩在线观看免费 | 日本不卡不卡 | 亚洲精品一区中文字幕乱码 | 精东传媒在线观看 | 欧美大尺度做爰啪啪床戏明星 | 91快射| 中文字幕精品无 | 美女乱淫| av中文字幕在线播放 | 久久免费一级片 | 国产精品999久久久 在线青草 | 女人天堂av | 91精品国产91久久久久久久久久久久 | 伊人久久综合影院 | 亚洲激情免费 | 国产女同91疯狂高潮互磨 | 成人理论视频 | 毛片91| 体感预报日剧 | 欧美日韩一区二区在线观看视频 | 九九视频免费在线观看 | 亚洲毛片儿 | 自拍偷拍视频网站 | 成人av亚洲 | 天天射狠狠干 | 夜夜操操 | 高清av在线| 国产乱妇4p交换乱免费视频 | 91在线网站 | 韩国黄色网 | 色窝窝无码一区二区三区成人网站 | 国产色一区二区 | 一区二区三区视频网站 | 亚洲国产第一页 | 国产精品美女高潮无套 | 精品视频99 | 色网网站 | 免费看a级黄色片 | 亚洲精品乱码久久久久久日本蜜臀 | 亚洲成人 av | 天天在线观看 | 在线观看 亚洲 | 性chinese天美传媒麻 | 四虎影院国产精品 | 亚洲啊啊啊啊啊 | 色女仆影院 | 国产精品77777| 成人人伦一区二区三区 | av网站免费在线播放 | 一区二区成人网 | 中文天堂| 久久久久女教师免费一区 | 亚洲欧美国产视频 | 色污网站 | 吞精囗交69激情欧美 | 丰满少妇久久久久久久 | 亚洲成人网在线 | 性爱一级视频 | 青草视频免费在线观看 | 一区二区三区国产av | 久久免费精彩视频 | 亚洲天堂导航 | 男人天堂电影 | 91在线免费观看网站 | 国产精品你懂得 | 神马午夜电影一区二区三区在线观看 | 午夜影院私人 | 国产精品久久久久久久久岛 | 岛国av在线免费观看 | 情涩快播 | 国产精品一卡二卡在线观看 | 成人激情小说网站 | 韩国一区二区三区四区 | 欧美一区二三区 | 69人妻一区二区三区 | 韩国三级在线视频 | 免费观看毛片 | 日av在线播放 | 欧美一二三区 | 日本高清免费看 | 亚洲熟妇无码爱v在线观看 九色福利 | 美国特色黄a大片 | 动漫美女被到爽流 | 欧美国产精品 | 亚洲大胆人体 | 毛片哪里看 | 亚洲在线视频网站 | 黄色大片免费看 | 91日本在线| 久久一区av | 美女久久久久久久久 | 欧美色图11p | 久久r这里只有精品 | 中国特级黄色大片 | 3p在线播放 | 日韩在线资源 |