Mesos RxJava :: Protobuf Client

Rx client on top of Apache Mesos HTTP Api.

License

License

Categories

Categories

Java Languages CLI User Interface Protobuf Data Data Structures RxJava Container Microservices Reactive libraries
GroupId

GroupId

com.hubspot.mesos.rx.java
ArtifactId

ArtifactId

mesos-rxjava-protobuf-client
Last Version

Last Version

0.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

Mesos RxJava :: Protobuf Client
Rx client on top of Apache Mesos HTTP Api.

Download mesos-rxjava-protobuf-client

How to add to project

<!-- https://jarcasting.com/artifacts/com.hubspot.mesos.rx.java/mesos-rxjava-protobuf-client/ -->
<dependency>
    <groupId>com.hubspot.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-protobuf-client</artifactId>
    <version>0.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.hubspot.mesos.rx.java/mesos-rxjava-protobuf-client/
implementation 'com.hubspot.mesos.rx.java:mesos-rxjava-protobuf-client:0.1.1'
// https://jarcasting.com/artifacts/com.hubspot.mesos.rx.java/mesos-rxjava-protobuf-client/
implementation ("com.hubspot.mesos.rx.java:mesos-rxjava-protobuf-client:0.1.1")
'com.hubspot.mesos.rx.java:mesos-rxjava-protobuf-client:jar:0.1.1'
<dependency org="com.hubspot.mesos.rx.java" name="mesos-rxjava-protobuf-client" rev="0.1.1">
  <artifact name="mesos-rxjava-protobuf-client" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.hubspot.mesos.rx.java', module='mesos-rxjava-protobuf-client', version='0.1.1')
)
libraryDependencies += "com.hubspot.mesos.rx.java" % "mesos-rxjava-protobuf-client" % "0.1.1"
[com.hubspot.mesos.rx.java/mesos-rxjava-protobuf-client "0.1.1"]

Dependencies

compile (5)

Group / Artifact Type Version
com.google.protobuf : protobuf-java jar 3.5.1
com.hubspot.mesos.rx.java : mesos-rxjava-client jar 0.1.1
com.hubspot.mesos.rx.java : mesos-rxjava-util jar 0.1.1
org.apache.mesos : mesos jar 1.8.0
org.jetbrains : annotations jar 15.0

test (3)

Group / Artifact Type Version
com.google.guava : guava jar 22.0
junit : junit jar 4.12
org.assertj : assertj-core jar 3.4.1

Project Modules

There are no modules declared in this project.

Mesos RxJava

Mesos RxJava is a library that provides a Reactive Client (via RxJava) atop Apache Mesos' new HTTP APIs.

Background

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.

Project Goal

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.

Javadocs

Javadocs for the last successful build of master can be found here

Maven Coordinates

Stable Release

Releases are available in Maven Central.

Protobuf Client

<dependency>
    <groupId>com.hubspot.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-protobuf-client</artifactId>
    <version>0.2.0</version>
</dependency>

Testing Tools

<dependency>
    <groupId>com.hubspot.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-test</artifactId>
    <version>0.2.0</version>
    <scope>test</scope>
</dependency>

Protobuf Client

<dependency>
    <groupId>com.hubspot.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-protobuf-client</artifactId>
    <version>0.2.1-SNAPSHOT</version>
</dependency>

Testing Tools

<dependency>
    <groupId>com.hubspot.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-test</artifactId>
    <version>0.2.1-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

Build

Mesos RxJava is defined by a Maven project and targeted at Java 1.8.

Install Maven

Install Maven 3.2.x or newer

Running Tests

mvn clean test

Packaging Artifacts

mvn clean package

Resources

  1. Apache Mesos
  2. Mesos HTTP Scheduler API v1
  3. RxJava
  4. ReactiveX
com.hubspot.mesos.rx.java

HubSpot

Versions

Version
0.1.1
0.1.0