As we saw in the Chapter 6, The Manager - Apache Mesos, a Mesos framework is a layer between Mesos and the application, and is used for managing task scheduling and execution. As the framework implementation is specific to the application, the term is usually used to refer to the application.
Initially, the Mesos framework only could communicate with the Mesos API using the libmesos
written on C++. So, in order to interact with Java, Scala, Python, and Go, one had to develop language bindings using libmesos
. Since Mesos version 0.19.0, an HTTP-based protocol has been included to enable developers to build frameworks in the language of their choice without having to work with a C++ wrapper.
A Mesos framework has two components:
- Scheduler: Responsible for taking decisions on resource offerings and tracking the current cluster state. The
SchedulerDriver
module has these responsibilities: to handle the communication with the Mesos master, to register frameworks with the master...