赞
踩
在大数据 ETL 场景,将 Kafka 中的消息流转到其他下游服务是很常见的场景,除了常规的消息流转外,很多场景还需要基于消息体内容做判断,然后决定下游服务做何种操作。
该方案实现了通过 Kafka 中消息 Key 的内容来判断应该对 MongoDB 做增、删、改的哪种 DML 操作。当 Kafka 收到消息后,会自动触发函数计算中的函数,接收到消息,对消息内容做判断,然后再操作 MongoDB。用户可以对提供的默认函数代码做修改,来满足更复杂的逻辑。整体方案通过 CADT 可以一键拉起依赖的产品,并完成了大多数的配置,用户只需要到函数计算和 MongoDB 控制台做少量配置即可。
详情可参见文档:
https://help.aliyun.com/zh/fc/user-guide/retry-policy
https://help.aliyun.com/zh/fc/result-callback
方案限制:目前源 Kafka 只支持阿里云 Kafka。
该架构图直观的表现出了该方案中使用到的网络(VPC,交换机,安全组)、Kafka、函数计算 FC、MongoDB 之间的关系。
网络架构:
专有网络 VPC(Virtual Private Cloud):是用户基于阿里云创建的自定义私有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如 ECS、负载均衡、RDS 等。
函数计算 FC(Function Compute):函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。
云消息队列 Kafka 版:云消息队列 Kafka 版是阿里云提供的分布式、高吞吐、可扩展的消息队列服务。云消息队列 Kafka 版广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域,已成为大数据生态中不可或缺的部分。
云数据库 MongoDB 版(ApsaraDB for MongoDB):完全兼容 MongoDB 协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份恢复、性能优化等功能。
云速搭 CADT(Cloud Architect Design Tools):是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。
在进行本文操作之前,您需要完成以下准备工作:
1)注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证页面(https://account.console.aliyun.com/v2/#/authc/home)查看是否完成实名认证。
2)购买按量付费资源,阿里云账户余额需要大于 100 元。考虑到部署后每小时会产生费用,建议账号内余额或者代金卷金额大于 200 元。您可以登录阿里云控制台,前往账户总览页面(https://usercenter2.aliyun.com/home)查看账户余额。
本实践可通过 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. 一键释放资源
本文为阿里云原创内容,未经允许不得转载。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。