The third part of this book focuses on the Cube manager component. Whereas the worker is responsible for running individual tasks on a single node within a pool of nodes, the manager is responsible for managing the entire system. The manager’s responsibilities include
- Responding to requests from users
- Scheduling tasks on workers
- Periodically collecting information about the state of tasks and workers in the system
- Checking the health of running tasks and attempting to get them into a healthy state when something goes wrong
In chapter 7, we will flesh out the implementation details of the Manager object. This implementation will include a naive scheduler, which we will iterate on in a later chapter.