Моя компания планирует внедрить кластерную систему с множеством услуг, которые будут развернуты автоматически на разных машинах и будут взаимодействовать друг с другом (стиль SOA). Иногда услуги будут иметь взаимозависимости.Управление жизненным циклом распределенных компонентов
Например: Служба B (приложение) может быть запущена только при запуске службы A (База данных).
Каждая услуга планируется запустить как другой Java-процесс, возможно, развернутый как WAR (внутри выделенного tomcat) или даже без Интернета.
На данный момент у нас есть все сервисы в одной и той же WAR и только один tomcat, который развертывает WAR. Все сервисы, определенные Spring и Spring, управляют зависимостями для нас.
Итак, я спрашиваю себя, существуют ли какие-то рамки, которые помогут управлять службами в распределенной среде, как я описал выше?
Заранее спасибо
Большое спасибо за ценную информацию. 10 баллов от меня здесь без сомнения :) Я проверю netflix, хотя мы не планируем работать на EC2. Я не думаю, что Дженкинс может помочь здесь, потому что я считаю, что его работа заключается в создании проекта, но не в развертывании в производственной среде. Я бы предпочел работать с некоторой услугой, которая (возможно) устанавливает агенты на каждой машине, а затем управляет всем сама по себе (+ обеспечивает мониторинг, если возможно :)) –
Некоторые люди используют Jenkins для развертывания для prod с использованием задач maven, таких как 'tomcat: deploy '. Программное обеспечение, использующее агенты и управление зависимостями, безусловно, будет выглядеть гораздо менее запутанным. Удачи и сообщите нам, найдете ли вы то, что ищете. –