Tracker server is the coordinator of the Fastdfs file system, and its main role is load balancing and scheduling. Tracker server records information such as grouping and storage server status in memory,
File index information is not logged, and the amount of memory consumed is low. In addition, when the client (app) and storage server access Tracker server, Tracker server scans the in-memory grouping and
Storage the server information, and then gives the answer. From this we can see that tracker server is very lightweight and does not become a system bottleneck.
There can be multiple Tracker servers in a Fastdfs cluster, and neither Tracker server nor storage server has a single point of issue. Tracker Server is a peer relationship, within the group
Storage server is also a peer relationship. The master in the traditional Master-slave structure is a single point, and the write operation is for master only. If master fails, you need to promote slave to master,
The implementation logic is more complex. Compared with the master-slave structure, all nodes in the peer structure have the same status, each node is master, and there is no single point problem.
FASTDFS System Structure
As you can see, Tracker server is independent from one another and there is no direct connection. Each time client clients are uploaded, downloaded, or deleted, the first
The Tracker Server,tracker server is requested to return the optimal storage server for the specified group class by load balancing, and then the client then calls storage
Server for upload, download, and delete functions.
In the FASTDFS system, the client clinet and storage server actively connect tracker server. Storage server proactively reports its status information to tracker server, including disk left
Space, file synchronization status, file upload download times and other statistical information. Storage Server connects all tracker servers in the entire cluster, reporting their status to them.
Storage server initiates a separate thread to complete the connection and timing reporting for a tracker server. As a special note, a group contains storage server that is not a pass-through
Configuration file, but is obtained through the tracker server.
From the above description we can see that Tracker server is the dispatcher and load balancer of the whole system, and also collects the health status of each group. It's like Nginx+keeplive's collection.
Fit, with Tracker server makes the whole FASTDFS system better and more robust. So it's very important in the whole system.
Note : Part of the description of the reference online related materials
Fastdfs Distributed File System Tracker Server Introduction