首页 > 代码库 > tachyon 0.5.0 之TachyonWorker 源码分析

tachyon 0.5.0 之TachyonWorker 源码分析

TachyonWorker 负责和tachyonMaster 交互, 直接通过 apache thrift 发送消息

tachyonworker 主要负责 3个部分, 启动 dataserver , 心跳, 和 thrift server ,

其中 dataserver 负责内存数据和用户之间的读传输,目前thrift支持远程读数据, 写数据只能写到本地, 并对本地读取做了优化, 本地读取数据不会走 socket 协议,可以之间定位到内存中的数据,通过文件流的形式读取,

thrift server 负责处理用户和master之间的请求, 具体处理请求的是 tachyonStorage 

tachyon worker 通过心跳机制来处理一些block的删除,并接受master 发来的一些命令

目前 心跳和dataserver 都是以后台线程的形式来处理


不足 :

1. 线程没有做监控, 如果挂掉没有办法恢复

2. 数据读取采用nio, 如果追求性能可以考虑 netty 等成熟框架

3. 代码异常处理不是太完善

4. 数据不支持远程写



tachyon 0.5.0 之TachyonWorker 源码分析