目錄
一、serverless簡介
serverless,顧名思義,即“無服務器”,提供一個微型的架構,用戶不需要部署、配置或管理服務器服務,只需要專注於業務邏輯,代碼運行所需要的服務器服務皆由雲端平台來提供,因此運維成本很低。
serverless有一個非常出名的產品,就是亞馬遜公司在2014年推出的AWS Lambda。
-
serverless架構
主要包含兩部分:Baas和Faas,通常位於雲端,使用時不需要關注最底層的服務器。
Baas(后端即服務:Backend as a Service)包括對象存儲、雲數據庫、API網關、消息推送等。
Faas(函數即服務:Functions as a Service)對計算能力進行了抽象,可以在無需管理服務器的情況下響應事件。
-
serverless三大應用場景
場景一:事件觸發場景,即有事件觸發時才會執行。
場景二:流量突發場景,遇到突發大流量情況時,serverless架構下按需加載,彈性伸縮,節省資源,負載均衡。
場景三:大數據處理場景,用戶只需要上傳核心代碼到函數計算,就可以快速完成整個工作。
-
serverless的優勢
傳統架構下,面對大流量場景,需要增加機器或者對機器升級,運維較為困難。面對高峰和低谷,無法做到按需使用,成本較高。
serverless架構下,開發者只需專注代碼開發,無需在各個雲資源控制台手動開通服務和配置管理,並能夠根據業務請求自動進行彈性伸縮;支持用戶按需付費,成本較低;開發周期快,很大程度上提升了開發、部署的效率。
具體可以查看這里的文檔 https://www.serverless.com/cn/framework/docs/
二、python實現發送郵件
三、部署到騰訊雲serverless,實現自動發送
1.注冊騰訊雲賬號騰訊雲 - 產業智變 雲啟未來 (tencent.com)
2.找到雲函數的管理控制台->函數服務->新建->自定義創建
3.將函數代碼粘貼到index.py中,單擊完成。
4.點擊部署,部署到騰訊雲
5.找到觸發管理,創建觸發器,設置定時觸發
四、效果展示
馬上就要到520了,快用起來吧!
五、注意事項
同時發給多個人的時候,一定要注意創建一個新的函數。
為什么呢?
因為我在運行過程中出現了一個error,收到的郵件是這個樣子
一堆“早安,小紅”里面突然混進了一個“早安,小白”。
查看了一下日志,是一個超時錯誤。調用失敗后自動運行了前一個調用成功的代碼,而我發送的時候只改了女朋友的名字。。
(幸好是在測試的時候發現的,否則又將是一個翻車現場。