专栏名称: 阿里云云原生
发布云原生技术最新资讯、汇集云原生技术最全内容,定期举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探索云原生技术点滴,分享你需要的云原生内容。
目录
相关文章推荐
出彩写作  ·  写材料电光石火般的灵感 ·  23 小时前  
出彩写作  ·  写材料列小标题搭框架常用共性词语2000个 ·  昨天  
出彩写作  ·  快速列措施做法提纲的小套路 ·  2 天前  
成飞资料库  ·  做项目如何避免情绪焦虑和自我内耗 ·  2 天前  
鸡西新闻网  ·  2月23日 | ... ·  3 天前  
鸡西新闻网  ·  2月23日 | ... ·  3 天前  
51好读  ›  专栏  ›  阿里云云原生

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

阿里云云原生  · 公众号  ·  · 2024-03-27 19:21

正文

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

部署架构


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






请到「今天看啥」查看全文