写点什么

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:331222

评论

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

Linux内核分析学习路线总结(内核人员必看)

Linux服务器开发

操作系统 Linux内核 内核源码 内核开发 驱动开发

一周信创舆情观察(7.26~8.1)

统小信uos

中台的前世今生

涛哥 数字产品和业务架构

企业架构 中台架构 中台的由来

强推!华为内部都在用的783页大数据处理系统:Hadoop源代码pdf

Java 编程 架构 面试 架构师

人在年轻的时候,最核心的能力是什么?

非著名程序员

认知提升 个人提升 提升自我 8月日更

101道经典JavaScript面试题总结(附答案,建议收藏)

前端依依

面试 大前端 JavaScrip

一个算法“拿下”两个榜单!爱奇艺ICCV 2021论文提出人手三维重建新方法

爱奇艺技术产品团队

vr 论文 ICCV2021 高精度三维重建

使用PyTorch构建神经网络模型进行手写识别

Shirakawa

神经网络 机器学习 深度学习 PyTorch 手写识别

云原生时代,腾讯如何做好容器安全体系建设?

腾讯安全云鼎实验室

腾讯云 容器

Python RPC 不会?不妨看看这篇文章

星安果

Python RPC RPC架构

维护数据隐私和增强竞争优势的秘密

九河云安全

资深大牛带你了解源码!最新Android面试题整理

欢喜学安卓

android 程序员 面试 移动开发

镜像是什么意思?分类有哪些?

行云管家

网络安全 镜像 堡垒机 云厂商

从关门“振动”说起,在这部剧本杀综艺里,爱奇艺隐藏了多少技术“小心机”

爱奇艺技术产品团队

综艺节目 互动视频技术 爱奇艺

现有市值管理机器人|交Y机器人系统源码搭建

Geek_23f0c3

做市机器人 去中心化市值管理机器人

如何洞察出推荐的关键时刻

石云升

推荐 用户体验 体验设计 8月日更

5 分钟,快速入门 Python JWT 接口认证

星安果

Python JWT

字节跳动Android面试:2021Android大厂面试知识分享

欢喜学安卓

android 程序员 面试 移动开发

拍乐云创始人赵加雨:沉浸式音视频加持数智化未来世界

拍乐云Pano

贝壳找房基于StarRocks构建全新统一的极速OLAP平台实践

StarRocks

数据库 数据分析 OLAP StarRocks

架构实战营模块四作业

maybe

云计算以及云计算周边词概念简单介绍-行云管家

行云管家

云计算 服务器 云服务

阿里顶级大佬整理出十六个专题的Java面试指南,金九银十不用愁!

Java 编程 架构 面试 架构师

最全总结 | 聊聊 Python 数据处理全家桶(存储过程篇)

星安果

Python 数据库

Github首次开放,一天遭狂转 50w 次!阿里内部不外传的 100 万字 Java 面试手册!

Java 程序员 架构 面试 计算机

FastApi-06-请求体-3

Python研究所

FastApi 8月日更

开放搜索电商行业模版驱动业务增长实践

阿里云大数据AI技术

摘下手机赛场的夏季“金牌”,荣耀的“飞人之路”

脑极体

PostgreSQL正强势回归!

数据库 大数据 时序数据库 tsdb 数据智能

专访融云 CTO 任杰:构建通信云全能力

融云 RongCloud

getInteger还是getIntValue,这是一个问题

FunTester

Java json Groovy

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