[flink-001]flink的心跳机制

本文详细介绍了Apache Flink的心跳机制,包括心跳接口、心跳管理类的实现以及运行过程。在Flink集群中,心跳用于确认节点的正常工作,通过HeartbeatTarget、HeartbeatListener和HeartbeatManager接口实现。主节点A向worker节点B1和B2发起心跳请求,接收到应答后确认节点状态。Flink的HeartbeatManagerImpl类展示了如何使用这些接口进行心跳管理和响应处理。
摘要由CSDN通过智能技术生成

1.心跳接口

一个分布式集群有多个节点。节点之间有心跳机制,以确认每个节点是正常工作的。心跳机制,就是每隔N秒,一个节点向其他节点发消息,其他节点收到后,回复一个消息。超过M秒没有回复,视为TimeOut,节点被视为不能正常工作。

假设一个flink集群有3个节点:A,B1,B2。A是master节点,B1和B2是worker节点。根据flink的心跳机制,A节点每3秒向B1和B2发起心跳请求,B1和B2收到请求后,向A返回心跳应答。心跳请求和心跳应答,都会带上Payload载荷,传递更多的业务信息。

flink集群有多种业务流程,每种业务流程都有自己的心跳机制。flink的心跳机制提供接口,具体功能由各业务流程实现。

flink的心跳机制代码在flink/flink-runtime/src/main/java/org/apache/flink/runtime/heartbeat,实现三个接口:HeartbeatTarget,HeartbeatListener, HeartbeatManager。实现了三个类,HeartbeatManagerImpl, HeartbeatManagerSenderImpl, HeartbeatServices,这个三个类是示例接口的用法。

flink集群的三个节点,A、B1、B2,在行为上而言,都有两种动作:向某个节点发送请求,处理某个节点发来的请求。这两个动作抽象成接口HeartbeatTarget,它有两个函数receiveHeartbeat和requestHeartbeat。这两个函数的参数也很简单:分别是请求的发送放和接收方,还有Payload载荷,对于一个确定节点而言,接收的和发送的载荷是同一类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值