计划概述
在大数据 ETL 场景,将 Kafka 中的音讯流转到其他下流服务是很常见的场景,除了惯例的音讯流转外,很多场景还需求根据音讯体内容做判别,然后决议下流服务做何种操作。
该计划完结了经过 Kafka 中音讯 Key 的内容来判别应该对 MongoDB 做增、删、改的哪种 DML操作。
当 Kafka 收到音讯后,会自动触发函数核算中的函数,接收到音讯,对音讯内容做判别,然后再操作 MongoDB。用户能够对供给的默认函数代码做修正,来满意更杂乱的逻辑。
全体计划经过 CADT 能够一键拉起依赖的产品,并完结了大多数的装备,用户只需求到函数核算和 MongoDB 操控台做少数装备即可。
计划优势
- 能够完结根据 Kafka 音讯的具体内容判别,该对 MongoDB 做哪种 DML 操作,灵活性和可扩展性极高。
- 函数核算具有完善的日志体系、容错机制。能够明晰的看到对每条音讯的处理日志,如果逻辑履行失利,也有重试机制和函数失利补偿机制,确保事务数据的完整性和一致性。
详情可拜见文档:
计划约束: 现在源 Kafka 只支撑阿里云 Kafka。
布置架构
架构说明
该架构图直观的体现出了该计划中运用到的网络(VPC,交换机,安全组)、Kafka、函数核算 FC、MongoDB 之间的联系。
网络架构:
- 整个计划会在某个 Region 下,该示例运用的是北京 Region
- 在 Region 下会创立一个 VPC
- 在该 VPC 下会创立一个某可用区的交换机,该示例运用的是 G 可用区
- 在该 VPC 下会创立一个安全组
- Kafka,FC,MongoDB 都在该 VPC 的 G 可用区的交换机下
- FC 在与 VPC 其他资源互通时会运用到 VPC 下的安全组
产品介绍
专有网络 VPC(Virtual Private Cloud): 是用户根据阿里云创立的自界说私有网络, 不同的专有网络之间二层逻辑阻隔,用户能够在自己创立的专有网络内创立和管理云产品实例,比如 ECS、负载均衡、RDS 等。
函数核算 FC(Function Compute): 函数核算是事情驱动的全保管核算服务。运用函数核算,您无需收购与管理服务器等根底设施,只需编写并上传代码或镜像。函数核算为您准备好核算资源,弹性地、牢靠地运行使命,并供给日志查询、功能监控和报警等功能。
云音讯行列 Kafka 版: 云音讯行列 Kafka 版是阿里云供给的分布式、高吞吐、可扩展的音讯行列服务。云音讯行列 Kafka 版广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线剖析等大数据范畴,已成为大数据生态中不可或缺的部分。
云数据库 MongoDB 版(ApsaraDB for MongoDB): 完全兼容 MongoDB 协议,根据飞天分布式体系和高牢靠存储引擎,供给多节点高可用架构、弹性扩容、容灾、备份恢复、功能优化等功能。
云速搭 CADT(Cloud Architect Design Tools): 是一款为上云使用供给自助式云架构管理的产品,显著地降低使用云上管理的难度和时刻本钱。本产品供给丰富的预制使用架构模板,同时也支撑自助拖拽方式界说使用云上架构;支撑较多阿里云服务的装备和管理。用户能够方便的对云上架构计划的本钱、布置、运维、收回进行全生命周期的管理。
前置条件
在进行本文操作之前,您需求完结以下准备工作:
1)注册阿里云账号,并完结实名认证。您能够登录阿里云操控台,并前往实名认证页面 (account.console.aliyun.com/v2/#/authc/… 检查是否完结实名认证。
2)购买按量付费资源,阿里云账户余额需求大于 100 元。考虑到布置后每小时会发生费用,主张账号内余额或者代金卷金额大于 200 元。您能够登录阿里云操控台,前往账户总览页面 (usercenter2.aliyun.com/home) 检查账户余额。
操作过程
本实践可经过 CADT 官方模板快速拉起演示环境。
-
根底环境建立
-
装备 MongoDB
2.1. 设置白名单
2.2. 记录 MongoDB 衔接地址
2.3. 创立 MongoDB 库和集合
2.4. 查询 MongoDB 中的数据
-
装备函数核算 FC
3.1. 登录函数核算 FC 操控台
3.2. 装备函数环境变量
3.3. 装备函数实例生命周期回调
3.4. 装备函数的层
3.5. 装备函数代码
-
场景验证
4.1. 阿里云 Kafka 模拟发送音讯
4.2. 查询 MongoDB 数据
4.3. 验证更多场景
-
一键开释资源
最佳实践全部内容,请点击此处检查。对计划和产品感兴趣的朋友,能够参加钉钉群交流(群号:31852400)。
往期文章:
云原生最佳实践系列 1:借助云速搭 CADT 怎么完结 Kafka 的功能压测?