26、大规模数据流处理:技术、案例与展望

大规模数据流处理:技术、案例与展望

1. 流处理中的容错与快照

在数据流处理系统中,容错机制至关重要。部分系统采用数据流图快照来实现容错,但这种方式存在恢复粒度的问题,因为整个数据流图需重置到保存点,不过部分恢复仍是可行的改进方式。

以APEX系统为例,它在处理快照时采用了类似的方法,使用相同机制绘制快照并应用窗口化,这会强制执行类似批量的执行,而这种执行方式本可避免。

2. 流量控制

2.1 流量控制的必要性

任何系统处理数据的速率都有上限,流处理器也不例外。由于数据源速率和系统处理速率之间的不平衡,通常需要调节数据摄取速率。而且,输入和处理速率在实时执行过程中可能会有很大变化,数据峰值在移动设备、大数据中心的日志系统等数据源中很常见。此外,流处理器在执行过程中处理能力也会有变化,如垃圾回收、磁盘快照等重负载操作会引入停滞期,影响连续处理。同时,数据流执行中不同任务的工作负载不平衡,使得流量控制机制对于可持续处理至关重要,以避免网络缓冲区溢出。

2.2 流量控制策略

流量控制主要有两种策略:
- 丢弃数据 :这是一些对处理保证要求不高的系统(如Apache Storm)常用且有效的策略。当任务的输入网络缓冲区满时(没有可用资源反序列化来自网络的传入记录),任务会丢弃新到达的记录。丢弃的记录可能永远丢失(适用于最多一次保证),也可能被重新发送(结合记录确认和上游备份,适用于至少一次方法)。但这种策略不适用于精确一次处理保证。
- 背压机制 :目前生产系统中使用多种类型的背压,常结合使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值