Батут - Управление Spring Boot приложений на местном уровне
1. Обзор батута
Исторически, простым способом понять состояние нашей системы во время выполнения было запустить ее вручную в терминале. В лучшем случае мы автоматизируем все с помощью скриптов.
Конечно, движение DevOps изменило все это, и, к счастью, наша отрасль далеко отошла от этого подхода. Trampoline is one of the solutions that solve this problem (for Unix and Windows users) in the Java ecosystem.с
Инструмент построен на основе Spring Boot иaims to help Spring Cloud developers in their daily development routine благодаря чистому и свежему пользовательскому интерфейсу.
Вот некоторые из его возможностей:
-
Запускать экземпляры, используя Gradle или Maven в качестве инструмента сборки
-
Управление экземплярами Spring Boot
-
Настройте аргументы виртуальной машины на этапе запуска
-
Мониторинг развернутых экземпляров: использование памяти, журналы и трассировки
-
Предоставить отзыв авторам
В этой небольшой статье мы рассмотрим проблему, которую пытается решить батут, а также рассмотрим ее на практике. Мы проведем экскурсию по регистрации новой службы и запуску одного экземпляра этой службы.
2. Микросервисы: единичное развертывание не выполнено
Как мы уже говорили, времена, когда приложения были развернуты с использованием одного модуля развертывания, прошли.
Это имеет как положительные, так и, к сожалению, отрицательные последствия. Хотя Spring Boot и Spring Cloud помогают в этом переходе, есть побочные эффекты, о которых мы должны позаботиться.
The journey from monoliths to microservices has introduced a huge improvement to the way developers structure their applications.
Как мы все знаем, это не то же самое, что открыть проект с набором из 30 классов, хорошо структурированных по пакетам и с соответствующими им модульными тестами, как открыть базу кода монстра с огромным количеством классов, где все легко усложняется. ,
Мало того, что повторное использование, разделение и разделение интересов извлекли выгоду из этой эволюции. Хотя преимущества хорошо известны, давайте перечислим некоторые из них:
-
Принцип единой ответственности - важен с точки зрения ремонтопригодности и тестирования
-
Отказоустойчивость - сбой в одном сервисе не влияет на другие сервисы
-
Высокая масштабируемость - требовательные сервисы могут быть развернуты в нескольких экземплярах
Но при использовании микросервисной архитектуры нам приходится сталкиваться с некоторыми компромиссами, особенно в отношении сетевых издержек и развертываний.
Однако, если сосредоточиться на развертывании,we lost one of the monolith’s advantages – the single deployment. Чтобы решить эту проблему в производственной среде, у нас есть целый набор инструментов для компакт-дисков, которые помогут и сделают нашу жизнь там проще.
3. Батут: настройка первой услуги
В этом разделе мы зарегистрируем услугу в Trampoline и покажем все доступные функции.
3.1. Скачать последнюю версию
Перейдя в репозиторий батутов вreleases section, мы сможем загрузить последнюю опубликованную версию.
Затем запустите Trampoline, например, используяmvn spring-boot:runor./gradlew (илиgradle.bat)bootRun.
Наконец, к пользовательскому интерфейсу можно получить доступ вhttp://localhost:8080.
3.2. Регистрация услуг
После того, как батут запущен и запущен,, перейдем в разделSettings, где мы сможем зарегистрировать нашу первую службу. В исходном коде Trampoline мы найдем два примера микросервисов:microservice-example-gradle иmicroservice-example-maven.https://github.com/ErnestOrt/Trampoline.
Чтобы зарегистрировать службу, необходима следующая информация:name*,default port*,pom or build location*,build tool*,actuator prefix, иVM default arguments.
Если мы решим использовать Maven в качестве инструмента сборки, сначала нам нужно будет указать местоположение Maven. Однако, если мы решим использовать оболочку Gradle, ее необходимо поместить в нашу папкуmicroservices. Больше ничего не потребуется.
В этом примере мы настроим оба:
В любой момент мы сможем просмотреть служебную информацию, нажав кнопкуinfo, или удалить ее, нажав кнопкуtrash.
Наконец, чтобы иметь возможность пользоваться всеми этими функциями, единственное требование - включитьactuator starter (см. Пример во фрагменте) в наши проекты Spring Boot, а также конечную точку/logfile посредством хорошо известного ведения журнала. свойства:
org.springframework.boot
spring-boot-starter-actuator
3.3. Управление экземплярами служб
Теперь мы готовы перейти в разделInstances. Здесь мы сможем запускать и останавливать экземпляры служб, а также отслеживать их статусы, трассировки, журналы и потребление памяти.
Для этого урока мы запускаем один экземпляр каждого ранее зарегистрированного сервиса:
===
3.4. Приборная доска
Наконец, давайте кратко рассмотрим разделDashboard. Здесь мы можем визуализировать некоторую статистику, такую как использование памяти с нашего компьютера или зарегистрированных или запущенных сервисов.
Мы также сможем посмотреть, была ли введена необходимая информация Maven или нет, в разделе настроек:
===3.5. Feedback
И последнее, но не менее важное: мы можем найти кнопкуFeedback, которая перенаправляет на репозиторий GitHub, где можно создавать проблемы или поднимать вопросы и вносить улучшения.
==4. Заключение
В ходе этого урока мы обсудили проблему, которую Trampoline стремится решить.
Мы также показали обзор его функций, а также краткое руководство о том, как зарегистрировать службу и как ее контролировать.
Наконец, обратите внимание, чтоthis is an open source project и вы можете внести свой вклад.