Current MesosClient is an actor based implementation. It would useful to investigate if we can switch to an stream based implementation. For example we can use Marathon Mesos Client code (Apache License). Some possible benefits
- Supports proper back pressure
- Simplify offer processing by making use of various stream operators
- Uses Scala Protobuf which further simplifies constructing the objects. There is a Gradle Plugin for that which would be useful in our case
- Provides a
Sink for outbound calls which use a single long lived connection
- Supports Mesos with HA i.e. if there is a redirect on initial subscribe then it would reconnect to new master. However if Mesos Master changes post subscribe then possibly whole MesosClient need to be recreated
Current
MesosClientis an actor based implementation. It would useful to investigate if we can switch to an stream based implementation. For example we can use Marathon Mesos Client code (Apache License). Some possible benefitsSinkfor outbound calls which use a single long lived connection