Flink--实时流处理框架

Flink工作流
上图是flink的工作流程
首先,flink从source中获取数据,source是流入flink数据的来源,日常对接的source端有kafka,rabbitMQ等消息队列
然后,获取到的数据流(dataStream) 按需来进行代码运算
最后,将上一步运算的结果数据sink到落地的模块中,模块可以是数据库,也可以是服务(用户预警报警模板)。


1、为何选择flink?
flink是流处理模式,数据会以流stream的形式在flink中存在并处理,source来源可以选择flume+kafka,这样,数据来源到了flink,就会流动起来处理,从而不需要考虑数据的储存(中间数据放到collection)以及取用逻辑(分页取数或者范围取数),实时性也比较高。

2、我手上的项目是监听oracle数据库,所以同步软件选取的ogg(oracle goldgate),源端配置extract,pump进程,pump进程将log数据pump到目标端,目标端配置replicat进程,将落地的log数据发送到Kafka,设计的原则是每张表一个topic。
3、flink 集群搭建在目标端网段,fink指标计算引擎设计方案设计原则是将指标计算类和source、process等配置到property文件,通过程序启动将相关的类加载到flink对应的组件中。
4、实时计算过程中遇到的问题就是问题定位,这里和其他项目一样也要依靠日志文件,这里可以解决大部分报错问题。其次,指标计算不准确问题大致原因有:
4.1、条件筛选不严格导致消费了不相关的日志数据
4.2、一些共享数据(我是存在redis里的)可能多个指标使用,导致并发问题。
4.3、指标计算逻辑错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frank Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值