Mesos RxJava is a library that provides a Reactive Client (via RxJava) atop Apache Mesos' new HTTP APIs. As the Apache Mesos HTTP APIs are experimental this library should also be considered experimental. The project reserves the right to change any interface at any time until the first release is made.
Apache Mesos is a Cluster Resource manager providing access to cluster resources such as CPU, RAM, Disk and Ports. In order to leverage these computing resources a program called a framework is created and registers with Mesos. Once registered a framework can launch tasks using the resources offered by Mesos.
In an effort to allow Mesos to be more accessible to more languages, HTTP APIs are being developed to allow polyglot access to authoring frameworks. Prior to the HTTP APIs, libmesos (C++ library) had to be used.
This project's primary goal is to provide a Java client for interacting with these new HTTP APIs. Mesos' HTTP APIs
are modeled as an event stream; as such a scheduler can be modeled as an
rx.Observable<Event>
. Once created, the scheduler
is able to use the powerful stream manipulation functions provided by RxJava to react to events.
The project is still early in terms of development but it is possible to launch tasks. The issues section of this repo will soon be updated with tasks that will require work and is the best place to check on the status toward the first release.
Javadocs for the last successful build of master
can be found here
Releases will be published to Maven Central. Snapshots will be published to Sonatypes OSS Repo.
Version 0.1.0-SNAPSHOT
has been published to the Sonatype OSS Snapshot Repo.
<repositories>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependency>
<groupId>com.mesosphere.mesos.rx.java</groupId>
<artifactId>mesos-rxjava-protobuf-client</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.mesosphere.mesos.rx.java</groupId>
<artifactId>mesos-rxjava-test</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
Mesos RxJava is defined by a Maven project and targeted at Java 1.8.
Install Maven 3.2.x or newer
mvn clean test
mvn clean package