Tachyonworker is responsible for interacting with tachyonmaster and sending messages directly through Apache thrift.
Tachyonworker is mainly responsible for 3 parts, starting DataServer, Heartbeat, and thrift server,
Where DataServer is responsible for the memory data and the user's read transmission, the current thrift support remote reading data, write data can only be written to local, and local read is optimized, local read data will not go to the socket protocol, can be located in memory between the data, through the form of file stream read,
Thrift server is responsible for processing requests between users and master, specifically processing the request Tachyonstorage
The Tachyon worker handles some block deletions through the heartbeat mechanism and accepts some commands from master
Current heartbeat and DataServer are handled in the form of a background thread
Insufficient:
1. Thread does not monitor, if hang off there is no way to recover
2. Data read using NIO, if the pursuit of performance can consider a mature framework such as Netty
3. Code exception handling is not perfect
4. Data does not support remote write
Tachyon 0.5.0 Tachyonworker Source Analysis