5分钟构建无服务图片鉴黄web应用(基于FunctionGraph)

函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩、免运维、高可靠的方式运行。即使在一些复杂的web应用场景中,函数工作流也能发挥出令人惊叹的实力。

通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费。极大地提高了开发和运维效率,减小了运作成本。

本文我们将介绍如何通过函数工作流快速构建一个无服务的图片鉴黄web应用,如下图,该应用接收用户上传的图片,并对图片进行分析,判断是否为色 情图片。

试想,如果我们通过传统的模式开发此应用,需要如何开发?

即使是基于现在的云平台,我们也仍需要购买云服务器,关注其规格、镜像、网络等各指标的选型和运维,然后在开发过程中可能还需要考虑与其他云服务的集成使用问题,使代码中耦合大量非业务代码,并且服务器等资源也并非是按需的,可能会造成大量多余的费用。

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

创建函数,在函数中调用华为云内容检测服务提供的图片鉴黄接口,实现图片鉴黄功能,并为该函数配置一个APIG触发器,对外提供图片鉴黄的API,从而构建出一个完整的图片鉴黄无服务系统。然后将web页面的静态资源部署在对象存储服务(OBS)中,用户可以直接从OBS访问前端页面。用户上传图片时,页面调用前面构建的图片鉴黄API,他会自动触发函数执行,而开发者编写的函数只需实现接收到图片之后如何处理图片的逻辑(调用内容检测服务服务)即可,最后将结果返回给前端页面。至此,我们就构建了一个完整的无服务图片鉴黄web应用。

现在,我们将介绍如何端到端地将此无服务应用构建出来,详细教程可以参考:http://functiongraph-tutorial.obs-website.cn-north-1.myhwclouds.com/#/porn-image-analyse

后端系统搭建

进入函数服务页面的图片鉴黄模板,该模板已经提供了本应用中函数的代码,按照代码注释中的指示创建函数之后,就成功搭建了本应用的后端系统,为函数所创建的APIG触发器会提供一个调用该后端函数的HTTP(s) API,供外部系统(如前端页面)调用。

前端页面搭建

前端的展示形式有很多,这里我们提供了一份Demo供大家学习参考,可以通过上面的详细教程将前端代码包部署到OBS上,快速构建一个单页Web应用(SPA)。然后调用上一步后端提供的接口,连通后端系统,完成整个无服务图片鉴黄Web应用的构建。

总结

通过基于函数工作流的无服务架构和传统架构的对比,我们可以看到其具有如下优点:

1. 无需关注任何服务器,只需关注核心业务逻辑;

2. 函数运行随业务量弹性伸缩,按需付费,执行才计费,低成本;

3. 可以通过简单的配置连通函数工作流和其它云服务,甚至云服务和云服务,比如本例中只需创建一个APIG触发器便可完成API网关和函数工作流的连接,然后在函数中调用内容检测服务的鉴黄接口,那么函数就像一个粘合剂一样将两个云服务连接在一起。

函数工作流地址:http://t.cn/RDSM82v

原文地址:https://www.cnblogs.com/chengxuyuanbrother/p/9452911.html

时间: 2024-08-02 16:51:40

5分钟构建无服务图片鉴黄web应用(基于FunctionGraph)的相关文章

5分钟Serverless实践 | 构建无服务器图片鉴黄Web应用

Serverless是什么 Serverless中文译为"无服务器",最早可以追溯到2012年Ken Fromm发表的<Why The Future Of Software And Apps Is Serverless>,他描述了一种场景,从用户自己维护的物理机,到IaaS,再到PaaS,计算模式的转变并不会停止,在云计算基础设施成熟的情况下应用程序可以不需要考虑服务器的存在,无服务器计算让开发者可以在不考虑服务器的情况下构建并运行应用程序和服务. 再到2016年,Mike

5分钟搞定图片鉴黄web应用!

函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩.免运维.高可靠的方式运行.通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费.极大地提高了开发和运维效率,减小了运作成本. 本文我们将介绍如何通过云函数服务快速构建一个无服务器的图片鉴黄web应用,如下图,该应用接收用户上传的图片,并对图片进行分析,判断是否为×××.

七牛国内首推鉴黄服务,6-8月 免费用

作为移动互联网行业最为热门的创业领域,在过去的几年中,移动社交类App和UGC类App大量涌现,因此在尽力确保产品定位差异化的同时,打造健康的社交生态也成为这些App能得以获得长期发展的关键.然而,由于这类App每天生成的图片信息量通常很大,并且有大量的色情图片混杂其中,所以高效准确地鉴别和剔除这些淫秽色情信息成为一项十分艰巨的任务. 基于此,七牛云携手专注于图像识别技术的图普科技推出了图片鉴黄服务(nrop),帮助七牛用户有效判断保存在七牛云的图片是属于色情.性感还是正常,并给出判断的分数,分

Springboot 构建http服务,返回的http行是&#39;HTTP/1.1 200&#39; 无状态码描述 客户端解析错误

----------------------------------------- *** 响应的数据格式 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Accept-Ranges: bytes ETag: W/"27-1432777730225" Last-Modified: Thu, 28 May 2015 01:48:50 GMT Content-Type: text/html Content-Length: 27 Date: Thu, 28

用Python做了鉴黄模型,内含多20万张“不可描述”图片

GitHub出现一个名为"NSFW Model"的项目.通俗一点来说,就是一个鉴黄模型. 这个模型,使用的数据来自前不久量子位介绍的那个数据集,内含多20万张"不可描述"图片. 同时,这个模型也被项目的贡献者做成了Demo. 既然有了Demo,那肯定是免不了测试一番-- Demo效果 Demo网站十分简单,进去之后能做什么一目了然. 上传图片之后,是自动给出结果,不需要点击其他按钮.但有时候不会给出结果-..还有待完善. 学习过程中有不懂的可以加入我们的学习交流秋秋

Spring Cloud构建微服务架构(五)服务网关

通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了.比如下图所示: alt 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现:而服务间通过Ribbon或Feign实现服务的消费以及均衡负载:通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理.为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延. 在该架

构建高性能服务

构建高性能服务  ConcurrentSkipListMap和链表构建高性能Java Memcached 场景 缓存服务器是互联网后端服务中常用的基础设施. 场景(一)图片服务器上存储了大量图片,为了提高图片服务的吞吐量,希望把热门的图片加载到内存中. 场景(二)分布式存储服务,为提高访问吞吐,把大量的meta信息存储在内存中. 问题 但是使用Java语言开发缓存服务,不可避免的遇到GC问题.无论使用ehcache是基于Map实现的缓存,都会产生大量Minor GC无法回收的对象,最终导致CMS

构建微服务:如何优雅的使用mybatis

本文由www.29sl.com转载发布:这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来. orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句s

Linux安装Axis C构建WebService服务

在安装Axis C++之前有两个组件是必须安装的,分别是Apache HTTP Server以及用于处理XML的程序Xerces:为了编译Axis以及Apache HTTPD,你的Linux机器还应该装有gcc编译器. 3个部件的都采用源码安装,它们都有类似的步骤: 上传并解压安装包 设置环境变量 利用configure生成Makefile 编译安装到usr/local/对应目录下 本文部署路径为apache安装在/usr/local/apache2,Axis2C 1.6 安装到/usr/loc