【函数计算实践】一个应用案例

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 本文起源于一个用户匹配的需求。用户的不同信息分布于两个系统,且客观上无法直接打通(不必纠结具体是什么场景,这是真实存在,且非技术上能解决的),所以就涉及到两个系统id匹配的问题。

一 背景

   来自一个用户匹配的需求。用户的不同信息分布于两个系统,且客观上无法直接打通(不必纠结具体是什么场景,这是真实存在,且非技术上能解决的),所以就涉及到两个系统id匹配的问题。

   先抽象问题:系统A,系统B;系统A中存在一个用户a(字段:a_id, a_img, a_name), 系统B中可能有a的补充信息(字段:ab_id, ab_img,ab_name),

   目标:如果B中存在用户a的信息,那么希望能找到并进行匹配,并把匹配结果返回系统A,结果格式:a_id, a_img, a_name,ab_id。

   一些前提:首先由于必要信息从外部服务进入系统B不是实时的,这里就存在一些延迟,所以上述的匹配率数据,允许有一定的时间延迟,预期是最终的匹配率/绑定率达到预期水平。

二 问题详细描述

字段说明:

1)a_id 用户a在系统A的id;

2)a_img 用户a在系统A的属性图片链接,注: a_img和ab_img虽然都是用户a的图片链接,但可能链接并不相同。例如a_img: http://sysa/a1.jpg,ab_img:http://sysb/b2.jpg

3)a_name 用户a在系统A的属性昵称;

4)ab_id 用户a在系统B中的id。

   两个系统中的图片,正常情况下,img内容是相同的(链接可能不同);或者是缩略图关系; name通常不会修改,但存在多个用户昵称相同的情况。

   这两个属性是判定两个系统中的用户是否是同一个的主要依据。

三 匹配策略

注:以下只是项目初期的简化匹配策略。因为数据特性,经过统计和特征分析,验证准确率可以达到预期,所以初期不会为百分之几的优化投入过多资源和精力。所以不必纠结策略的准确率

1、首先通过昵称匹配

   当系统A的用户昵称,与系统B的有且只有一条记录昵称相同时,将这两个记录匹配 【根据真实数据经验,用户进入两个系统记录的时间规律,并允许较低的错误率;支持人工修复】;

2、当系统A的输入记录,与系统B的多条记录昵称相同时,继续判断图片内容。这里的判断步骤设计如下:

2-1 分别拉取a_img 和 ab_img的图片内容(字符串),如果内容相同,那么确定是同一条记录,记录匹配关系;

2-2 如果内容不同,计算两张图片的相似度(汉明距离)。当相似度大于指定阈值时,认为二者匹配,记录匹配关系

四 系统交互流程

系统A与B的交互设计如下图所示,注:系统B下又分为任务服务、web服务、api服务三个子服务。

五 计算资源管理

   可以看到,这里可能会有一个比较耗费资源的动作,就是需要匹配图片内容时。我们要拉取图片内容、字符串直接比对、简化特征、计算汉明距离,而当这个计算逻辑被并发调用的频率很高时,所需的带宽、计算能力都有可能成为瓶颈。自运维就需要解决峰值问题,或强制限制调用频率。所以采用函数计算来做弹性支持。

   另外,为了减少重复的图片拉取动作,降低流量消耗,且绑定数据存储在系统B中。那么我们先完成系统B内img的内容拉取,和特征提取工作,对于一个新的匹配请求,我们只需要拉取a_img的内容并特征提取就可以了,减少了近一半的工作。

六 上线后出现的问题及优化

   项目上线后,我们持续观察了一段时间,发现函数计算调用次数过高。官方的计价标准,每月全地域免费资源使用量:40万 GB-S。正常情况下,可以控制本业务的调用量在预算范围之内。但实际线上的调用发现,短短几天就快到达收费门槛,这显然是不符合预期的。

   为什么会造成这个问题?是真实的调用需要,还是有重复调用导致额外开销?这点需要先排查清楚。

首先查看匹配结果数据,发现线上A、B两个系统用户匹配率低于预期,这就导致有一些用户在系统B内找不到可以绑定的ab_id;而执行中发现,系统A触发绑定计算的时机是在用户进行微信登陆的时候,而且有会多次调用;预期借此提高最终匹配率(因为有些信息可能会更新,或延迟获取到,当信息补全时,是有可能匹配上之前计算时没能匹配的用户的。这也是一个客观前提)。但这带来的问题就是,会导致多次不必要的重复计算,至少在信息更新前的一段时间内是。

   为了解决上述问题,补加了一个输入用户id,在一个周期内不再重新计算的限制。因为绑定率/匹配率看中的是最终数据,所以能够接受一定的时间延迟。策略上线后进行了一周观察,确定在没有降低匹配率的前提下,计算量大大减少,而减少下来的这些计算资源,就是实实在在的真金白银。

七 未来优化方向

   目前,项目已经上线运营一个月的时间,观察服务正常,未来继续在调用量优化、匹配准确率、召回率提升几个方面进行深入优化。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6天前
|
人工智能 运维 物联网
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。
|
18天前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
46 10
|
15天前
|
存储 人工智能 Serverless
7分钟玩转 AI 应用,函数计算一键部署 AI 生图大模型
人工智能生成图像(AI 生图)的领域中,Stable Diffusion WebUI 以其强大的算法和稳定的输出质量而闻名。它能够快速地从文本描述中生成高质量的图像,为用户提供了一个直观且高效的创作平台。而 ComfyUI 则以其用户友好的界面和高度定制化的选项所受到欢迎。ComfyUI 的灵活性和直观性使得即使是没有技术背景的用户也能轻松上手。本次技术解决方案通过函数计算一键部署热门 AI 生图大模型,凭借其按量付费、卓越弹性、快速交付能力的特点,完美实现低成本,免运维。
|
20天前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
1月前
|
人工智能 Serverless API
尽享红利,Serverless构建企业AI应用方案与实践
本次课程由阿里云云原生架构师计缘分享,主题为“尽享红利,Serverless构建企业AI应用方案与实践”。课程分为四个部分:1) Serverless技术价值,介绍其发展趋势及优势;2) Serverless函数计算与AI的结合,探讨两者融合的应用场景;3) Serverless函数计算AIGC应用方案,展示具体的技术实现和客户案例;4) 业务初期如何降低使用门槛,提供新用户权益和免费资源。通过这些内容,帮助企业和开发者快速构建高效、低成本的AI应用。
74 12
|
1月前
|
Serverless 开发工具 开发者
活动实践 | 西游再现,函数计算一键部署 Flux 超写实文生图模型部署
这些图片展示了阿里巴巴云开发者生态的多个方面,包括开发工具、技术文档、社区交流、培训认证等内容,旨在为开发者提供全方位的支持和服务。
|
1月前
|
存储 弹性计算 关系型数据库
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
|
2月前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
2月前
|
弹性计算 算法 搜索推荐
活动实践 | 通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
ComfyUI是基于节点工作流稳定扩散算法的新一代WebUI,支持高质量图像生成。用户可通过阿里云函数计算快速部署ComfyUI应用模板,实现个性化定制与高效服务。首次生成图像因冷启动需稍长时间,之后将显著加速。此外,ComfyUI允许自定义模型和插件,满足多样化创作需求。
|
2月前
|
弹性计算 自然语言处理 搜索推荐
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。