5

I'm just learning Apache Mesos. I would like to run a cluster of web apps (Scala Play) integrating with a database cluster (Cassandra), managed by Mesos.

When a web app goes down or a database goes down, my understanding is that Mesos will auto restart the service. But the problem is that the service may be restarted on a different node in the cluster.

If the DB goes down, and Mesos restarts the DB on another node in the cluster, how would the web app know where to connect to the new DB instance?

What are the pro's and con's of using Mesos to run a cluster of web apps with databases?

  • Typesafe wrote about their deployment with Mesos + Marathon + HAProxy, which solves the problems or restarting failed apps (handled by Marathon) and allowing services to find each other (handled by HAProxy): http://typesafe.com/blog/play-framework-grid-deployment-with-mesos – Ross Allen May 21 '14 at 18:21
  • 1
    As of this comment, storage is not well supported on Mesos aside from Cassandra (https://github.com/mesosphere/cassandra-mesos). You should run your DB outside your Mesos cluster for the time being. – Ross Allen Jun 17 '14 at 03:04

1 Answers1

0

Look at this project: Cassandra on Mesos. You could also run the Cassandra scheduler with Marathon to let Mesos run it on the cluster. Main pro is that you get optimal resource utilization while con is you get an indirection of resource allocation (tradeoff of letting Mesos handle resources for you!).

Martin Tapp
  • 3,106
  • 3
  • 32
  • 39