крок 1: Створіть батьківський модуль Maven
Для початку створіть батьківський модуль Maven. Цей батьківський модуль міститиме всі різні мікросервіси.
У файлі pom.xml
батьківського модуля оголосіть дочірні модулі (ваші мікросервіси). Наприклад:
auth-service
aws-service
Цей розділ modules
визначає дочірні модулі, які слугуватимуть вашими мікросервісами.
Крок 2: Встановіть тип пакування батьківського модуля як pom
У файлі pom.xml
батьківського модуля встановіть тип пакування як pom
:
pom
Це вказує Maven, що це батьківський модуль, а не артефакт для розгортання.
Крок 3: Створіть модулі мікросервісів
Тепер вам потрібно створити модулі мікросервісів. Ви можете зробити це в Eclipse, клацнувши правою кнопкою миші на проекті та вибравши New > Maven Module, або скористатися Spring Boot Initializer, щоб створити проект Spring Boot і вставити його в кореневу директорію батьківського проекту.
Ваша структура папок виглядатиме приблизно так:
Приклад багатомодульного проекту з 2 мікросервісами
Крок 4: Налаштування властивостей додатка
У кожному модулі перейдіть до src/main/resources
і створіть файл application.properties
. Оскільки обидва модулі є мікросервісами, вони повинні працювати на різних портах, щоб уникнути конфліктів. У кожному файлі application.properties
вкажіть унікальний номер порту:
server.port=
Замість `` вкажіть фактичний порт для кожного сервісу.
Крок 5: Написання бізнес-логіки
Тепер, коли ваші мікросервіси налаштовані, ви можете почати писати бізнес-логіку для кожного з них у відповідних модулях (або проектах Spring Boot).
Крок 6: Запуск мікросервісів
Поширене непорозуміння полягає в тому, що вам потрібно запустити батьківський модуль для запуску будь-яких мікросервісів. Однак це не так.
У реальному сценарії, коли ви розгортаєте код на сервері, ви будуєте JAR-файл для конкретного мікросервісу, який хочете запустити. Потім ви можете запускати кожен мікросервіс окремо, так само, як і будь-який додаток Spring Boot.
Якщо ви хочете запустити різні мікросервіси на різних інстансах, вам просто потрібно побудувати та запустити різні JAR-файли на окремих серверах. Таким чином, ви матимете мікросервіси, які працюють на кількох інстансах.
Цей підхід організовує та структурує ваші мікросервіси у чистий і масштабований спосіб, що спрощує їх керування та розгортання окремо.
Перекладено з: Creating Microservices via a Multi-Module Project in Spring Boot