云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作

简介: 该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。

01 方案概述


在大数据 ETL 场景,将 Kafka 中的消息流转到其他下游服务是很常见的场景,除了常规的消息流转外,很多场景还需要基于消息体内容做判断,然后决定下游服务做何种操作。


该方案实现了通过 Kafka 中消息 Key 的内容来判断应该对 MongoDB 做增、删、改的哪种 DML 操作。当 Kafka 收到消息后,会自动触发函数计算中的函数,接收到消息,对消息内容做判断,然后再操作 MongoDB。用户可以对提供的默认函数代码做修改,来满足更复杂的逻辑。整体方案通过 CADT 可以一键拉起依赖的产品,并完成了大多数的配置,用户只需要到函数计算和 MongoDB 控制台做少量配置即可。


02 方案优势


  • 可以实现根据 Kafka 消息的具体内容判断,该对 MongoDB 做哪种 DML 操作,灵活性和可扩展性极高。
  • 函数计算具有完善的日志系统、容错机制。可以清晰的看到对每条消息的处理日志,如果逻辑执行失败,也有重试机制和函数失败补偿机制,保证业务数据的完整性和一致性。


详情可参见文档:

https://help.aliyun.com/zh/fc/user-guide/retry-policy

https://help.aliyun.com/zh/fc/result-callback


方案限制:目前源 Kafka 只支持阿里云 Kafka。


03 部署架构


image.png


04 架构说明


该架构图直观的表现出了该方案中使用到的网络(VPC,交换机,安全组)、Kafka、函数计算 FC、MongoDB 之间的关系。


网络架构:

  • 整个方案会在某个 Region 下,该示例使用的是北京 Region
  • 在 Region 下会创建一个 VPC
  • 在该 VPC 下会创建一个某可用区的交换机,该示例使用的是 G 可用区
  • 在该 VPC 下会创建一个安全组
  • Kafka,FC,MongoDB 都在该 VPC 的 G 可用区的交换机下
  • FC 在与 VPC 其他资源互通时会使用到 VPC 下的安全组


05 产品介绍


专有网络 VPC(Virtual Private Cloud):是用户基于阿里云创建的自定义私有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如 ECS、负载均衡、RDS 等。


函数计算 FC(Function Compute):函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。


云消息队列 Kafka 版:云消息队列 Kafka 版是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。云消息队列 Kafka 版广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域,已成为大数据生态中不可或缺的部分。


云数据库 MongoDB 版(ApsaraDB for MongoDB):完全兼容 MongoDB 协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份恢复、性能优化等功能。


云速搭 CADT(Cloud Architect Design Tools):是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。


06 前置条件


在进行本文操作之前,您需要完成以下准备工作:


1)注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页面https://account.console.aliyun.com/v2/#/authc/home查看是否完成实名认证。


2)购买按量付费资源,阿里云账户余额需要大于 100 元。考虑到部署后每小时会产生费用,建议账号内余额或者代金卷金额大于 200 元。您可以登录阿里云控制台,前往账户总览页https://usercenter2.aliyun.com/home查看账户余额。


07 操作步骤


本实践可通过 CADT 官方模板快速拉起演示环境。


1. 基础环境搭建

2. 配置 MongoDB

2.1. 设置白名单

2.2. 记录 MongoDB 连接地址

2.3. 创建 MongoDB 库和集合

2.4. 查询 MongoDB 中的数据

3. 配置函数计算 FC

3.1. 登录函数计算 FC 控制台

3.2. 配置函数环境变量

3.3. 配置函数实例生命周期回调

3.4. 配置函数的层

3.5. 配置函数代码

4. 场景验证

4.1. 阿里云 Kafka 模拟发送消息

4.2. 查询 MongoDB 数据

4.3. 验证更多场景

5. 一键释放资源


最佳实践全部内容,请点击此处查看。对方案和产品感兴趣的朋友,可以加入钉钉群交流(群号:31852400)。


往期文章:

云原生最佳实践系列 1:借助云速搭 CADT 如何实现 Kafka 的性能压测?

云原生最佳实践系列2:基于 MSE 云原生网关同城多活

云原生最佳实践系列 3:基于 SpringCloud 应用玩转 MSE

云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测

相关文章
|
9月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
消息中间件 监控 大数据
优化Apache Kafka性能:最佳实践与调优策略
【10月更文挑战第24天】作为一名已经对Apache Kafka有所了解并有实际使用经验的开发者,我深知在大数据处理和实时数据流传输中,Kafka的重要性不言而喻。然而,在面对日益增长的数据量和业务需求时,如何保证系统的高性能和稳定性成为了摆在我们面前的一个挑战。本文将从我的个人视角出发,分享一些关于如何通过合理的配置和调优来提高Kafka性能的经验和建议。
490 4
|
10月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
544 12
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
1032 102
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
1855 118
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
789 6
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
339 5
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
存储 运维 监控
云原生应用的可观察性:理解、实现与最佳实践
【10月更文挑战第10天】随着云原生技术的发展,可观察性成为确保应用性能和稳定性的重要因素。本文探讨了云原生应用可观察性的概念、实现方法及最佳实践,包括监控、日志记录和分布式追踪的核心组件,以及如何通过选择合适的工具和策略来提升应用的可观察性。

热门文章

最新文章

相关产品

  • 函数计算
  • 推荐镜像

    更多