2015-06-18 14 views
11

Sono abbastanza nuovo per Service Discovery e sistemi cluster. Ho iniziato a sperimentare con Mesos e Marathon per lo sviluppo di container Docker, l'API REST di Marathon e l'interfaccia utente sembrano fare un buon lavoro.mesos-dns, best practice per lavorare con le porte

Il mio problema è la scoperta effettiva dei servizi distribuiti. A scopo di test, ho distribuito un Kafka Cluster ridimensionato a 3 istanze tramite Marathon, come ho fatto con un cluster di test MongoDB. Il client Mesos-DNS mi fornisce un record come kafka.marathon.mesos e mongo.marathon.mesos che implica la porta mappata dinamicamente dall'host al contenitore. Il problema è che il mio cliente ha bisogno esplicitamente di informazioni sulla porta di destinazione. Esiste un modo generale per ottenere automaticamente e in modo artificiale tali informazioni sulla porta dal servizio? Che dire delle app che espongono più porte?

miei thougts finora: - Fare una chiamata REST per ottenere uno status circa l'app schierato e in qualche modo estrarre i dati rilevanti - facendo una ricerca DNS SRV e in qualche modo estrarre i dati rilevanti - Avere una sorta di "maestro ", associato staticamente a una porta, con" client "dinamici.

Ho cercato molto per quelle informazioni ma alla fine la maggior parte delle esercitazioni si è conclusa con una ricerca manuale che non è ciò a cui mirano.

risposta

2

Sei perfetto. Recentemente ho dato un a XebiCon su questo argomento e ho in programma di pubblicare un post sul blog con dettagli sulla configurazione incl. Repository GitHub. Per i principianti potresti dare un'occhiata a Python implementation per la parte di consumo dell'API HTTP.

AGGIORNAMENTO: il post del blog è ora disponibile here.

+0

Grazie per la tua risposta, darò un'occhiata! – ummecasino