Перейти к основному содержимому

Trampoline — локальное управление приложениями Spring Boot

· 4 мин. чтения

1. Обзор батута

Исторически сложилось так, что простым способом понять состояние нашей системы во время выполнения было запустить ее вручную в терминале. В лучшем случае мы бы автоматизировали все с помощью скриптов.

Конечно, движение DevOps изменило все это, и, к счастью, наша отрасль далеко ушла от этого подхода. Trampoline — одно из решений, решающих эту проблему (для пользователей Unix и Windows) в экосистеме Java.

Инструмент построен на основе Spring Boot и призван помочь разработчикам Spring Cloud в их повседневной работе благодаря чистому и свежему пользовательскому интерфейсу.

Вот некоторые из его возможностей:

  • Запускайте экземпляры, используя Gradle или Maven в качестве инструмента сборки
  • Управление экземплярами Spring Boot
  • Настройка аргументов виртуальной машины на этапе запуска
  • Мониторинг развернутых экземпляров: использование памяти, журналы и трассировки
  • Оставьте отзыв авторам

В этой довольно статье мы рассмотрим проблему, которую Trampoline стремится решить, а также посмотрим на нее на практике. Мы совершим экскурсию по регистрации новой службы и запуску одного экземпляра этой службы.

./7181bd0164bff11c5f29fb5e6606590e.png

2. Микросервисы: единственное развертывание мертво

Как мы уже говорили, времена, когда приложения развертывались с помощью одного модуля развертывания, прошли.

Это имеет как положительные последствия, так и, к сожалению, отрицательные. Хотя Spring Boot и Spring Cloud помогают в этом переходе, есть побочные эффекты, о которых нам нужно позаботиться.

Переход от монолитов к микросервисам внес огромные улучшения в то, как разработчики структурируют свои приложения .

Как мы все знаем, открыть проект с набором из 30 классов, хорошо структурированных между пакетами и соответствующими юнит-тестами, это не то же самое, что открыть чудовищную кодовую базу с огромным количеством классов, где все легко усложняется. .

Мало того, от этой эволюции выиграли возможности повторного использования, разъединения и разделения задач. Хотя преимущества общеизвестны, давайте перечислим некоторые из них:

  • Принцип единой ответственности – важен с точки зрения ремонтопригодности и тестирования
  • Отказоустойчивость — сбой в одном сервисе не влияет на другие сервисы.
  • Высокая масштабируемость — требовательные сервисы могут быть развернуты в нескольких экземплярах.

Но нам приходится сталкиваться с некоторыми компромиссами при использовании микросервисной архитектуры, особенно в отношении сетевых издержек и развертываний.

Однако, сосредоточившись на развертывании, мы потеряли одно из преимуществ монолита — единое развертывание . Чтобы решить эту проблему в производственной среде, у нас есть целый набор CD-инструментов, которые помогут и облегчат нашу жизнь там.

3. Батут: настройка первого сервиса

В этом разделе мы зарегистрируем сервис в Trampoline и покажем все доступные функции.

3.1. Скачать последнюю версию

Перейдя в репозиторий Trampoline, в разделе релизов мы сможем загрузить последний опубликованный релиз.

Затем запустите Trampoline, например, используя mvn spring-boot:run или ./gradlew (или gradle.bat ) bootRun .

Наконец, доступ к пользовательскому интерфейсу можно получить по адресу http://localhost:8080 .

3.2. Регистрация услуг

Как только мы запустим Trampoline , давайте перейдем в раздел « Настройки », где мы сможем зарегистрировать наш первый сервис. В исходном коде Trampoline мы найдем два примера микросервисов: microservice-example-gradle и microservice -example-maven.

Чтобы зарегистрировать службу, необходима следующая информация: имя* , порт по умолчанию* , pom или местоположение сборки* , инструмент сборки* , префикс привода и аргументы виртуальной машины по умолчанию .

Если мы решим использовать Maven в качестве инструмента сборки, сначала нам нужно будет установить наше местоположение Maven. Однако, если мы решим использовать оболочку Gradle, ее необходимо поместить в нашу папку microservices . Больше ничего не потребуется.

В этом примере мы настроим оба:

./798053657546ac24329a5f980ef716f2.png

В любое время мы сможем просмотреть информацию об услуге, нажав кнопку информации , или удалить ее, нажав кнопку корзины .

Наконец, чтобы иметь возможность пользоваться всеми этими функциями, единственным требованием является включение стартера привода (см. пример во фрагменте кода) в наши проекты Spring Boot, а также конечную точку /logfile через известные свойства ведения журнала:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

3.3. Управление экземплярами службы

Теперь мы готовы перейти к разделу «Экземпляры ». Здесь мы сможем запускать и останавливать экземпляры службы, а также отслеживать их статусы, трассировки, журналы и потребление памяти.

Для этого руководства мы запускаем один экземпляр каждой службы, зарегистрированной ранее:

./a2558c8bd68aaa6fd1fa0f91ab4cfb06.png

3.4. Приборная доска

Наконец, давайте кратко рассмотрим раздел Dashboard . Здесь мы можем визуализировать некоторые статистические данные, такие как использование памяти на нашем компьютере или зарегистрированные или запущенные службы.

Мы также сможем посмотреть, была ли введена необходимая информация Maven или нет в разделе настроек:

./61ba3c18175d04b489181a558ecf4ab7.png

3.5. Обратная связь

И последнее, но не менее важное: мы можем найти кнопку обратной связи , которая перенаправляет на репозиторий GitHub, где можно создавать проблемы или задавать вопросы и улучшать.

./c255360a20809acdffa68b14b2303d8b.png

4. Заключение

В ходе этого урока мы обсудили проблему, которую пытается решить Trampoline.

Мы также показали обзор его функциональных возможностей, а также краткое руководство о том, как зарегистрировать службу и как ее контролировать.

Наконец, обратите внимание, что это проект с открытым исходным кодом, и вы можете внести свой вклад.