How would this be different from using mesos-dns from the app’s perspective? It 
uses DNS interface, thus the app should be able to resolve SRV records, right?

 

So if I insist on that the resolution of the provided dns name (for the service 
it depends on) it should be transient to the app, then it should fail once it 
cannot connect, have (e.g.) Marathon restart it, and the launch script should 
look up the service e.g. using James’ proposal. This again sounds less than 
ideal.

 

From: haosdent [mailto:[email protected]] 
Sent: Monday, June 29, 2015 11:20 PM
To: [email protected]
Subject: Re: service discovery in Mesos on CoreOS

 

Also have another service discovery tool. https://www.consul.io/  
https://github.com/CiscoCloud/mesos-consul

 

On Tue, Jun 30, 2015 at 10:51 AM, zhou weitao <[email protected]> wrote:

 

 

2015-06-30 6:23 GMT+08:00 Andras Kerekes <[email protected]>:

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?

Do you know this repo? https://github.com/QubitProducts/bamboo . And here our 
corp one https://github.com/Dataman-Cloud/bamboo branched from the above.

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

 





 

-- 

Best Regards,

Haosdent Huang

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

Reply via email to