Морфлинг — это система развёртывания, разработанная на основе Spring Boot 1.5. Она проста в использовании и не требует сложных зависимостей: для работы достаточно MySQL. Система подходит для развёртывания и управления операциями на машинах с масштабом до ста единиц.
Я понимаю, что система развёртывания должна быть основана на определённом стандарте, чтобы обеспечить унифицированное управление развёртыванием. Это похоже на использование SDK. Поэтому систему развёртывания сложно адаптировать «из коробки». Кроме того, в морфлинге есть множество настраиваемых функций (управление включением и выключением NGX, управление включением и выключением регистрационного центра, проверка работоспособности, обзор информации), и реализация этих функций основана на соглашениях. Например, для проверки работоспособности мы договорились, что все конечные точки мониторинга приложений находятся в контексте _monitor. Для включения и выключения NGX мы используем самописный etcd. Центры конфигурации для бизнес-сценариев мы реализуем с помощью Apollo.
Поэтому некоторые функции этой системы могут не подходить для вашей текущей ситуации. Цель разработки этой системы также заключается в том, что после долгих поисков в интернете я не смог найти подходящий проект, который можно было бы использовать для вторичной разработки и т. д., поэтому я решил создать такую систему самостоятельно.
Цель открытого исходного кода — помочь тем, кто нуждается в такой системе, или использовать её для улучшения своих методов развёртывания. Предоставить общее направление или уже готовый код, а затем адаптировать неподходящие части к своим бизнес-процессам, чтобы сэкономить больше времени и заняться более значимыми делами.
Если у вас есть вопросы, вы можете связаться со мной через QQ.
- Многоуровневая конфигурация позволяет пользователям с разными ролями получать доступ к разным средам и меню. Различные среды позволяют настраивать различные конфигурации, удовлетворяя основные потребности разработки и развёртывания в обычных компаниях.
- Система разделена на серверную часть и клиентскую часть, и клиенты устанавливаются на каждом сервере. Во время развёртывания сервер уведомляет машины, которые необходимо развернуть, и клиент получает пакет установки от сервера для удалённого развёртывания.
- Создание приложений делится на шлюзовые приложения и сервисные приложения. Способ развёртывания зарезервирован для Docker (ожидает реализации). Приложение + экземпляр клиента = экземпляр приложения, который может быть свободно назначен пользователю.
- Регистрация и отключение центра (в настоящее время реализована только шлюзовая версия, основанная на самописном openresty + lua + etcd, рекомендуется использовать upsync от NetEase. Регистрационные центры, такие как Zookeeper и Consul, ожидают реализации).
- На основе spring-boot-starter вводится компонент управления кешем (на основе аннотаций), который предоставляет внешние службы для централизованного и унифицированного управления всеми кешами.
- На основе центра конфигурации (Apollo) вводится компонент spring-boot-starter-degrade, который объявляет методы, требующие деградации, и предоставляет внешние услуги для централизованного и унифицированного управления методами деградации и связанными конфигурационными ключами.
- Создайте базу данных с именем morphling и импортируйте scripts/morphling.sql.
- Запустите mvn clean package -DskipTests=true -Pproduct в корневом каталоге, чтобы получить пакеты установки morphling-agent.tar.gz и morphling-server.tar.gz.
- Распакуйте пакет установки server.gz на сервере и запустите server.sh start.
- Откройте http://ip:11110 (если не добавить параметр -P, порт будет 80, что удобно для локальной отладки). По умолчанию учётная запись администратора — admin, пароль — 000000.
- Роль: текущая роль базы данных — несколько встроенных ролей. Поскольку изменения в этой роли происходят редко, нет необходимости реализовывать управление ролью в фоновом режиме. Аналогично, отношения между ролью, меню и средой в нашем сценарии использования также вряд ли изменятся, поэтому в настоящее время мы вручную изменяем базу данных, чтобы связать роль, меню и среду.
- Новый клиент: сервер отправляет пакет установки агента на соответствующую машину через SSH, и этот клиент одновременно становится машиной развёртывания (то есть он может реализовать приложение, связанное с этой машиной, как экземпляр этого приложения).
- Новое приложение: данные таблицы приложений представляют собой только базовую информацию о развёртывании приложения, без конкретной информации о местоположении цели. Необходимо добавить экземпляр, чтобы связать существующий клиент, чтобы создать экземпляр.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )