Hi,

 

Is there a preferred way to do service discovery in Mesos via mesos-dns
running on CoreOS? I'm trying to implement a simple app which consists of
two docker containers and one of them (A) depends on the other (B). What I'd
like to do is to tell container A to use a fix dns name
(containerB.marathon.mesos in case of mesos-dns) to find the other service.
There are at least 3 different ways I think it can be done, but the 3 I
found all have some shortcomings.

 

1.       Use SRV records to get the port along with the IP. Con: I'd prefer
not to build the logic of handling SRV records into the app, it can be a
legacy app that is difficult to modify

2.       Use haproxy on slaves and connect via a well-known port on
localhost. Cons: the Marathon provided script does not run on CoreOS, also I
don't know how to run haproxy on CoreOS outside of a docker container. If it
is running in a docker container, then how can it dynamically allocate ports
on localhost if a new service is discovered in Marathon/Mesos?

3.       Use dedicated port to bind the containers to. Con: I can have only
as many instances of a service as many slaves I have because they bind to
the same port.

 

What other alternatives are there?

 

Thanks,

Andras

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to