[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker

Привет, Хабр.

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

Изначально я разбил создание проекта на несколько шагов:

  1. Создать два сервиса — ‘бекенд’ (backend) и ‘шлюз’ (gateway), упаковать их в docker-образы и настроить их совместную работу

    Ключевые слова: Java 11, Spring Boot, Docker, image optimization

  2. Написать Kubernetes конфигурацию и задеплоить систему в Google Kubernetes Engine

    Ключевые слова: Kubernetes, GKE, resource management, autoscaling, secrets

  3. Настройка Jenkins и пайплайна для автоматической доставки кода в кластер

    Ключевые слова: Jenkins configuration, plugins, separate configs repository

  4. Создание чарта с помощью Helm 3 для разворачивания кластера в одну команду

    Ключевые слова: Helm 3, chart deployment

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

Направленность этого цикла статей заключается не в том, как написать микросервисы, а как заставить их работать в единой системе. Хоть все эти вещи обычно лежат за пределами ответственности разработчика, думаю, что все равно полезно быть знакомым с ними хотя бы на 20% (которые, как известно, дают 80% результата). Некоторые безусловно важные темы, такие как обеспечение безопасности, будут оставлены за скобками этого проекта, так как автор в этом мало что понимает система создается исключительно для личного пользования. Я буду рад любым мнениям и конструктивной критике.

Читать дальше →

from Java – Объектно-ориентированный язык программирования https://ift.tt/31Ukujv

Leave a Reply