计划概述

在大数据 ETL 场景,将 Kafka 中的音讯流转到其他下流服务是很常见的场景,除了惯例的音讯流转外,很多场景还需求根据音讯体内容做判别,然后决议下流服务做何种操作。

该计划完结了经过 Kafka 中音讯 Key 的内容来判别应该对 MongoDB 做增、删、改的哪种 DML操作。

当 Kafka 收到音讯后,会自动触发函数核算中的函数,接收到音讯,对音讯内容做判别,然后再操作 MongoDB。用户能够对供给的默认函数代码做修正,来满意更杂乱的逻辑。

全体计划经过 CADT 能够一键拉起依赖的产品,并完结了大多数的装备,用户只需求到函数核算和 MongoDB 操控台做少数装备即可。

计划优势

  • 能够完结根据 Kafka 音讯的具体内容判别,该对 MongoDB 做哪种 DML 操作,灵活性和可扩展性极高。
  • 函数核算具有完善的日志体系、容错机制。能够明晰的看到对每条音讯的处理日志,如果逻辑履行失利,也有重试机制和函数失利补偿机制,确保事务数据的完整性和一致性。

详情可拜见文档:

help.aliyun.com/zh/fc/user-…

help.aliyun.com/zh/fc/resul…

计划约束: 现在源 Kafka 只支撑阿里云 Kafka。

布置架构

云原生最佳实践系列 5:根据函数核算 FC 完结阿里云 Kafka 音讯内容操控 MongoDB DML 操作

架构说明

该架构图直观的体现出了该计划中运用到的网络(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 官方模板快速拉起演示环境。

  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 的微服务布置与压测