Apache Mesos + Докер + Подвал Караф Кластер
У меня есть Mesos Cluster и работает (1 Master и 2 Slaves) с марафоном. Я использую докер в качестве контейнера в Mesos/Marathon. У меня есть докер Karaf, который будет запущен на марафоне в качестве кластера. Я планирую использовать Cellar of Fabric в качестве решения для кластеризации Karaf. Мои проблемы
Поскольку я использую случайное сопоставление портов в Марафоне, у меня не было идеи, как заставить работать автоматическое обнаружение Hazel-cast. со случайными экземплярами докера на случайных рабах. Любые предложения или решения / подход
Может ли это быть легко достигнуто, используя ткань плавкого предохранителя вместо Подвала - я полностью ослеп на этом. Пожалуйста, предоставьте некоторые ссылки / идеи для Карафа
заранее спасибо
2 ответа
Ответить пуля № 2
Fabric8 v2 - это архитектура облачных технологий, таких как Kubernetes и Docker. Это делает Fuse Fabric гораздо лучше подходящим для использования с технологиями будущего, а не привязанными к Java и OSGi.
Более подробные сведения об этих изменениях опубликованы Робом Дэвисом в
Таким образом, с помощью основанной на докере модели и облачной инфраструктуры, такой как Mesos / Kubernetes, они позволяют обрабатывать кластеризацию и все остальное. И сохраняйте свои приложения (как образы докеров) проще. Вам не нужно использовать Karaf Cellar / Fuse Fabric v1 и т. Д. Они выполняют кластеризацию изнутри вместе с вашими приложениями. Где, как kubernetes делает это извне, полностью отделены.
И, кстати, за № 1, то kubernetes услуги скал. Джеймс Страчан недавно написал запись в блоге о kubernetes для разработчиков
Если вы используете сервисы kubernetes, вы можете найти IP-адрес и номер порта для вашего кластера Hazelcast, просто используя переменные среды ОС.
Ладно, может быть, это было немного бессвязно. Но я предлагаю проверить kubernetes / fabric8 / docker и все - и избегать кластеризации Java, такой как Karaf Cellar или Fuse Fabric v1, если вы строите новую платформу сегодня.
Многие добились успеха, используя HAProxy вместе с сервисными портами Marathon для обнаружения всего кластера. См. https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html
Вы также можете попробовать mesos-dns для обнаружения службы на основе DNS, которая работает даже без Marathon. Смотрите http://mesosphere.github.io/mesos-dns/