5分鐘Serverless實踐 | 構建無服務器的敏感詞過濾後端系統

前言html

在上一篇「5分鐘Serverless實踐」系列文章中,咱們介紹了什麼是Serverless,以及如何構建一個無服務器的圖片鑑黃Web應用,本文將延續這個話題,以敏感詞過濾爲例,介紹如何構建一個無服務器API,即無服務器的後端系統。前端

 

函數工做流後端

函數工做流(FunctionGraph,FGS)是一項基於事件驅動的函數託管計算服務,託管函數具有以毫秒級彈性伸縮、免運維、高可靠的方式運行。經過函數工做流,開發者無需配置和管理服務器,只需關注業務邏輯,編寫函數代碼,以無服務器的方式構建應用,便能開發出一個彈性高可用的後端系統,並按實際運行消耗的資源計費。極大地提升了開發和運維效率,減少了運做成本。服務器

 

相比於傳統的架構,函數工做流構建的無服務器架構具備以下優勢:網絡

1.無需關注任何服務器,只需關注核心業務邏輯,提升開發和運維效率架構

2.函數運行隨業務量彈性伸縮,按需付費,執行才計費,對於負載波峯波谷很是明顯的場景能夠減小大量成本less

3.經過簡單的配置便可連通函數工做流和其它各雲服務,甚至雲服務和雲服務運維

 

構建無服務器的敏感詞過濾後端系統函數

爲了進一步讓你們感覺函數工做流的優點,咱們將介紹如何經過函數工做流快速構建一個無服務器的敏感詞過濾系統,本文咱們主要關注後端系統,前端的表現形式不少,你們能夠自行構建。以下圖,該系統會識別用戶上傳的文本內容是否包含敏感信息(如色情、政治等),並對這些詞語進行過濾。工具

●試想,若是咱們經過傳統的模式開發此應用,須要如何開發?即便是基於如今的雲平臺,咱們也仍須要購買雲服務器,關注其規格、鏡像、網絡等各指標的選型和運維,而後在開發過程當中可能還須要考慮與其餘雲服務的集成使用問題,使代碼中耦合大量非業務代碼,而且服務器等資源也並不是是按需的,特別是對於訪問量波峯波谷很是明顯的場景,會形成大量多餘的費用。

 

如今咱們能夠經過函數工做流服務來快速構建這個系統,而且徹底無需關注服務器,且彈性伸縮運行、按需計費,如圖:

 

建立函數,在函數中調用華爲雲內容檢測服務提供的文本檢測接口,實現文本的敏感詞檢測,併爲該函數配置一個APIG觸發器,這樣即可以對外提供一個敏感詞過濾的API,從而構建出一個完整的敏感詞過濾的無服務器後端系統。客戶端調用API,他會自動觸發函數執行,而開發者編寫的函數只需實現接收到文本以後如何處理文本的邏輯便可,最後將結果返回給客戶端。至此,咱們就構建了一個完整的無服務器敏感詞過濾後端系統。

 

接下來,咱們將介紹如何完整地將此無服務器後端系統構建出來。

1.準備工做

進入華爲雲內容檢測服務,申請開通文本內容檢測,成功申請後即可以調用內容檢測服務提供的文本檢測接口了。

 

2.建立函數

進入函數工做流服務頁面,建立函數,實現文本檢測的接口調用和敏感詞過濾,代碼以下:

函數建立完成以後,爲其配置具備IAM訪問權限的委託,由於本函數代碼中獲取用戶的ak、sk須要擁有訪問IAM的權限。

 

3.建立APIG觸發器

爲函數配置一個APIG觸發器,這樣便獲得一個調用該函數的HTTP(S) API,供外部調用。

建立成功後,API的URL能夠在函數詳情頁面的「觸發器」欄看到:

 

4.測試

使用postman等工具向上一步中建立的APIG觸發器的接口發送post請求,body體爲:{「msg」: 「過濾檢測的文本」},查看返回信息。

好比發送 {"msg": "just fuck ..."}, 返回體爲 {"result": "just  ..."}

至此,咱們就完整地構建了一個無服務器的敏感詞過濾後端系統。

相關文章
相關標籤/搜索