[#] Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 1
habrabot(difrex,1) — All
2017-04-27 16:30:04


При переходе к распределённым системам с большим количеством инстансов сервисов в полный рост встают проблемы их обнаружения (**service discovery**) и балансировки запросов (**load balancing**) между ними. Как правило, для их решения используются такие специализированные инструменты как [**Consul**][1], [**Eureka**][2] или старый добрый [**Zookeeper**][3], в сочетании с **Nginx**, **HAProxy** и некоторым мостом между ними (см. [**registrator**][4]).



Основная проблема в подобном подходе это большое количество интеграций, и, как следствие, точек где что-то может пойти не так. Ведь помимо вышеупомянутых решений наверняка будет использоваться локальный маленький **PaaS** (например [**Mesosphere Marathon**][5] или **Kubernetes**). Последние, к слову, уже хранят необходимую конфигурацию об окружении (ведь через них идёт весь деплоймент). И встаёт вопрос, а можем ли мы отказаться от специализированных инструментов для **service discovery** и переиспользовать тот же **Marathon** для этой задачи?



Краткий ответ — можем. Если интересно как — читайте дальше.

[Читать дальше →][6]

[1]: https://www.consul.io/
[2]: https://github.com/Netflix/eureka
[3]: https://zookeeper.apache.org/
[4]: https://github.com/gliderlabs/registrator
[5]: https://mesosphere.github.io/marathon/
[6]: https://habrahabr.ru/post/325714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut