写点什么

5 分钟 Serverless 实践 | 构建无服务器的敏感词过滤后端系统

  • 2019-10-21
  • 本文字数:1445 字

    阅读完需:约 5 分钟

5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统

在上一篇“5 分钟 Serverless 实践”系列文章中,我们介绍了什么是 Serverless,以及如何构建一个无服务器的图片鉴黄 Web 应用。本文将延续这个话题,以敏感词过滤为例,介绍如何构建一个无服务器 API,即无服务器的后端系统。

函数工作流

函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩、免运维、高可靠的方式运行。通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费。极大地提高了开发和运维效率,减小了运作成本。


相比于传统的架构,函数工作流构建的无服务器架构具有如下优点:

01 无需服务器

无需关注任何服务器,只需关注核心业务逻辑,提高开发和运维效率

02 按需付费

函数运行随业务量弹性伸缩,按需付费,执行才计费,对于负载波峰波谷非常明显的场景可以减少大量成本

03 配置简便

通过简单的配置即可连通函数工作流和其它各云服务,甚至云服务和云服务

构建无服务器的敏感词过滤后端系统

为了进一步让大家感受函数工作流的优势,我们将介绍如何通过函数工作流快速构建一个无服务器的敏感词过滤系统,本文我们主要关注后端系统,前端的表现形式很多,大家可以自行构建。如下图,该系统会识别用户上传的文本内容是否包含敏感信息(如色情、政治等),并对这些词语进行过滤。



  • 试想,如果我们通过传统的模式开发此应用,需要如何开发?即使是基于现在的云平台,我们也仍需要购买云服务器,关注其规格、镜像、网络等各指标的选型和运维,然后在开发过程中可能还需要考虑与其他云服务的集成使用问题,使代码中耦合大量非业务代码,并且服务器等资源也并非是按需的,特别是对于访问量波峰波谷非常明显的场景,会造成大量多余的费用。


现在我们可以通过函数工作流服务来快速构建这个系统,并且完全无需关注服务器,且弹性伸缩运行、按需计费,如图:



创建函数,在函数中调用华为云内容检测服务提供的文本检测接口,实现文本的敏感词检测,并为该函数配置一个 APIG 触发器,这样便可以对外提供一个敏感词过滤的 API,从而构建出一个完整的敏感词过滤的无服务器后端系统。客户端调用 API,他会自动触发函数执行,而开发者编写的函数只需实现接收到文本之后如何处理文本的逻辑即可,最后将结果返回给客户端。至此,我们就构建了一个完整的无服务器敏感词过滤后端系统。


接下来,我们将介绍如何完整地将此无服务器后端系统构建出来。

01 准备工作

进入华为云内容检测服务,申请开通文本内容检测,成功申请后便可以调用内容检测服务提供的文本检测接口了。

02 创建函数

进入函数工作流服务页面,创建函数,实现文本检测的接口调用和敏感词过滤,代码如下:




函数创建完成之后,为其配置具有 IAM 访问权限的委托,因为本函数代码中获取用户的 ak、sk 需要拥有访问 IAM 的权限。

03 创建 APIG 触发器

为函数配置一个 APIG 触发器,这样便得到一个调用该函数的 HTTP(S) API,供外部调用。



创建成功后,API 的 URL 可以在函数详情页面的“触发器”栏看到:


04 测试

使用 postman 等工具向上一步中创建的 APIG 触发器的接口发送 post 请求,body 体为:{“msg”: “过滤检测的文本”},查看返回信息。


比如发送 {“msg”: “just fuck …”}, 返回体为 {“result”: “just …”}


至此,我们就完整地构建了一个无服务器的敏感词过滤后端系统。


本文转载自公众号中间件小哥(ID:huawei_kevin)。


原文链接:


https://mp.weixin.qq.com/s/xVy3XYxAjdxYgRpPduD8Sg


2019-10-21 15:33953

评论

发布
暂无评论
发现更多内容

科大讯飞T30Lite配置参数 科大讯飞学习机哪款好

妙龙

科大讯飞 学习机

crossover安装exe后无法打开怎么办?CrossOver安装成功但打不开

阿拉灯神丁

容器 应用程序配置 苹果软件精选 CrossOver Mac下载 CrossOver 24

如何写出好的大模型提示词?如何判断提示词的好坏?

AIGC.TWang

AIGC GPT 提示词

基于MicroBlocks的"双模态"遥控智能小车

积木思维

科大讯飞T30 Ultra,T30pro,T30 Lite选哪个好

妙龙

科大讯飞 学习机

教学培训小程序软件开发,协助机构管理招生工作

V\TG【ch3nguang】

如何利用体育直播平台进行内容变现

熊猫比分大卫

体育赛况资讯直播app开发 体育直播 体育直播网源码

科大讯飞T30 Lite和步步高S8的区别

妙龙

科大讯飞 学习机 步步高 步步高家教机

科大讯飞s30功能配置介绍,科大讯飞s30怎么样优缺点分析

妙龙

科大讯飞 学习机

刚入行Java,如何高效精进SpringBoot技能?

开心学Java

程序员 后端 架构师 springboot java面试

Java面试背八股文还有用吗?

开心学Java

程序员 后端 架构师 java面试 八股文

初见ByConity

法医

ByConity

用阿里通义灵码对MicroBlocks代码AI重构

积木思维

鸿蒙NEXT开发案例:颜文字搜索器

zhongcx

龙蜥社区落地开源生态发展合作倡议,构建开放兼容的操作系统生态

OpenAnolis小助手

操作系统 龙蜥社区 OpenAnolis

低代码开发:企业数智化转型中的关键角色与实践案例分析

快乐非自愿限量之名

低代码

Kubernetes 可观测最佳实践

观测云

Kubernetes

C语言-字符串相关库函数用法+模拟实现

百度搜索:蓝易云

Java程序员如何精进性能优化技能?

了不起的程序猿

性能优化 架构师 java面试 MySQL优化 jvm调优

说说Hashtable与HashMap的区别

百度搜索:蓝易云

mysql小数和类型转换函数

百度搜索:蓝易云

最新2025年体育足球篮球赛事直播软件开发费用

软件开发-梦幻运营部

hbdk-model-verifier、hbdk-sim 和 hbdk-hbm-attach 工具使用教程

地平线开发者

自动驾驶 算法 算法工具链 地平线征程5

如何做好一个中层管理

易成研发中心

企业管理 企业管理软件

SEO 搜索引擎优化核心名词全解析

恩爸编程

搜索引擎 百度 SEO SEO伪静态 SEO 优化

启动MySQL数据库时报错"Another process with pid 3306 is using unix socket file……"

百度搜索:蓝易云

谷歌发布 Android XR 集成 Gemini 语音对话;Voice Agent 平台 Vapi 获 2000 万美元融资

声网

鸿蒙NEXT开发案例:世界时间表

zhongcx

鸿蒙

《Django 5 By Example》阅读笔记:p521-p542

codists

Python django

Java:JSR 310日期时间体系LocalDateTime、OffsetDateTime、ZonedDateTime

百度搜索:蓝易云

科大讯飞t30pro和lumie10pro有什么区别

妙龙

科大讯飞 学习机

5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统_文化 & 方法_李壮_InfoQ精选文章