Advertisement

Storm的通信机制及ack失败处理机制

阅读量:

Storm集群架构中各模块进行外部通信,拓扑程序中各个Task进行内部通信。

  • 内部信息交互
    • 信息传输的容错机制

内部通信

在Bolt组件向跨服务器传输Tuple数据的过程中,必须依赖socketServer以维持稳定的网络通信。每个executor均配备了一个缓存队列,用于处理来自executor—>nextTuple/execute的执行流程;同时,每个worker内部均配置了输入与输出的管理模块,该模块需负责维护相应的socket连接。
输出结果为:Map<ip+port,socket object>
输入部分则通过ServerSocket(ip,port)进行初始化,并通过accept方法接收连接请求,随后对所接收到的数据进行分发处理。

在这里插入图片描述

针对worker进程而言,为实现对消息的接收与发送管理,每个worker进程均配置了一个独立的监听线程,该线程负责对预设的TCP端口supervisor.ports进行监听。worker监听线程通过网络接口接收数据,并依据Tuple中所包含的taskId信息,将其匹配至相应的exec

全部评论 (0)

还没有任何评论哟~