函数粘合云服务提供端到端解决方案|学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 快速学习 函数粘合云服务提供端到端解决方案

开发者学堂课程【从 0 入门函数计算:函数粘合云服务提供端到端解决方案】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/645/detail/10721


函数粘合云服务提供端到端解决方案


内容简介:

1.模型介绍

2.其他服务

 

1.模型介绍

首先是应用中最常见的两种模型,第一种是 UI 驱动,第二种是消息驱动。

在 UI 驱动中,可能客户端不那么智能,原因是一些逻辑服务,比如认证服务,搜索服务,交易等都需要实现在服务端的应用程序中,随着业务的复杂程度的不断增加,服务端会越来越难以维护。

而在消息驱动中,需要用户实现一个常驻的消费者服务,然后去消费消息,同时消费者的可用性也需要用户去保证。

图片30.png

以上两个例子可以看出,假设单体应用不断膨胀,对一个庞大的单体应用进行拆解,充分利用云服务的体系结构,是一个非常好的解决方案。关键是如何为应用程序的每一个组件选择和使用正确的云服务,然后通过函数作为粘合剂将云服务串联起来。

 

2.其他服务

目前很多人将 FaaS 等同于 service,所谓 FaaS 就是 Function as a Service,即“函数即服务”,比如阿里云的函数计算。但实际上有许多其他的服务也是Service,她们和函数计算一起构成 Service 应用,比如使用 API 网关可以使用户从API网关的线流等繁琐的配置中解放出来;使用表格存储和对象存储来持久化数据,可以取代用户去管理数据库实例;使用日志服务或者 DataHUb 这种外部数据源可以收集数据;使用 MNS 可以管理自己的消息。

用户可以使用一个函数将这些函数串联起来,从而能达到构建具体的应用和复杂业务逻辑的目标。

同时,用户也可以使用 Service 工作流来编排函数和其他云服务,让用户更加聚焦于具体逻辑的开发和流程的编排。

当然,用户也可以使用阿里云提供的开发工具链来简化自动化部署和持续集成,使用这些开箱即用的工具可以帮助用户快速达到想要的目标和效果。

如果一个庞大的单体应用或者是一个面向服务的体系结构,开发者需要负责所有的事情,包括代码的编写、管理和部署数据库以及其他后端相关服务。切换到Service架构以后,我们可以看到特定的模块交由特定的云服务处理,之后再使用具体的代码函数将它们串联起来。

为了使这种架构运行的更加更有效率,事件驱动是一个不可缺少的特性。比如说用户尝试往 OSS 上传一个文件,这个上传事件可以自动触发一个函数对这个文件进行处理。

比如用户变更一个表格存储的数据,也会自动触发一个编写的逻辑,引出以下例子。

图片31.png

用户上传一张图片到存储 OSS,触发一个函数,这个函数对这个图片生成缩略图并保存回 OSS。

之后 OSS 会触发另一个函数,这个函数会把刚刚生成的缩略图的信息写入 Service数据库表格存储。表格存储又触发另外一个函数,将缩略图的信息更新到搜索模块。

这样我们可以看到数据的上传、存储、信息的入库以及搜索模块的更新。被这三个函数联合成了一个具体的业务逻辑。

图片32.png

再回到最开始的实例,UI 驱动可以转化为这种 Service 架构,第三方 Service 认证服务可以取代服务端中的认证逻辑,一些页面显示中的内容可以直接读取 Service 数据库,这样可以使用户端的很多业务逻辑可以慢慢移动到客户端,同时可以使涉及安全的函数等也可以放在服务端,这样可以充分利用一些云服务保证了一些逻辑的高可用,使自己更专注于具体的业务逻辑。对于消息驱动的模式,可以看到之前的常驻的消费者服务交由 FaaS,用时高可用等都交给了云平台

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
机器学习/深度学习 数据可视化
如何解决大语言模型的幻觉问题
如何解决大语言模型的幻觉问题
|
6月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
379 89
|
10月前
|
机器学习/深度学习 人工智能
Micro LLAMA:教学版 LLAMA 3模型实现,用于学习大模型的核心原理
Micro LLAMA是一个精简的教学版LLAMA 3模型实现,旨在帮助学习者理解大型语言模型的核心原理。该项目仅约180行代码,便于理解和学习。Micro LLAMA基于LLAMA 3中最小的8B参数模型,适合对深度学习和模型架构感兴趣的研究者和学生。
232 18
Micro LLAMA:教学版 LLAMA 3模型实现,用于学习大模型的核心原理
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的优化算法及其应用
【10月更文挑战第8天】 本文将探讨深度学习中常用的优化算法,包括梯度下降法、Adam和RMSProp等,介绍这些算法的基本原理与应用场景。通过实例分析,帮助读者更好地理解和应用这些优化算法,提高深度学习模型的训练效率与性能。
695 63
|
11月前
|
机器学习/深度学习 算法 数据处理
SVM的优缺点是什么
SVM的优缺点是什么
625 9
|
11月前
|
XML 前端开发 JavaScript
webSocket 和 ajax 的区别
【10月更文挑战第26天】在实际开发中,需要根据具体的应用需求来选择合适的技术,以实现最佳的用户体验和系统性能。
|
12月前
|
人工智能 自然语言处理 前端开发
人工智能时代,我们依旧有无限的选择权!
“莫愁前路无知己” - 本文主要是为了缓解焦虑,以我与AI的互动为主线,分享了从童年科幻梦到工作中应用AI的经历。探讨了AI的现状与未来,强调了AI辅助编程的潜力和挑战,以及个人和企业应如何应对AI时代的变革。AI虽可能替代很多岗位,但也能带来新的机遇,关键在于适应和利用。
184 1
|
Java 对象存储 开发者
故障隔离与容错处理:Hystrix在Spring Cloud和Netflix OSS中的应用
故障隔离与容错处理:Hystrix在Spring Cloud和Netflix OSS中的应用
192 3
|
JSON 安全 API
Python开发者必看:OAuth与JWT授权机制的惊天秘密😱
【9月更文挑战第9天】在现代软件开发中,尤其在Web和移动应用领域,用户认证与授权至关重要。对Python开发者而言,OAuth和JWT是提升应用安全性与用户体验的关键技术。OAuth通过“授权而不认证”的理念保障用户数据安全,JWT则利用JSON Web Tokens实现无缝的信息传递。两者结合可构建高效且安全的认证体系。掌握这些技术,将使你的应用更加出色。
138 0
|
安全 网络协议 关系型数据库
【信息收集】 端口信息收集
网络通信依赖端口来区分不同的服务。这些逻辑端口范围从0到65535,其中0-1023为知名端口,常用于特定服务如FTP(20和21)、HTTP(80)、SSH(22)等;1024-49151为注册端口,49152-65535为动态或私有端口。端口分为TCP和UDP,分别对应面向连接和无连接的协议。开放端口可能带来安全风险,如弱口令、漏洞利用等,需注意防护。NMAP工具可用于端口扫描,识别网络上开放的服务。
223 5