Микросервисы с использованием Spring Boot и Spring Cloud

Опубликовано: 2020-09-04

Оглавление

Введение в микросервисы

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

На рынке доступны различные инструменты, позволяющие создавать программное обеспечение с использованием архитектуры микросервисов. Spring Cloud и Spring Boot — популярные платформы микросервисов Java.

Spring Boot — это самоуверенная платформа для разработки приложений, созданная с использованием среды Spring, используемой для разработки веб-приложений Java. В то же время он настраиваемый, и вы можете настроить его в соответствии со своими требованиями. Основные аспекты учебника по весеннему облаку будут обсуждаться в этом блоге.

Микросервисы с использованием Spring Boot и Spring Cloud

В этом учебном пособии по Spring Cloud представлен базовый обзор создания простого приложения микросервисов с использованием Spring Boot и Spring Cloud. Кроме того, руководство содержит ссылки на соответствующую документацию, которая поможет вам достичь целей обучения. Вам нужно будет сделать следующее:

1. Создайте новую службу с помощью Spring Boot с помощью инициализатора Spring

Согласно учебному пособию по весеннему облаку, первым шагом является создание структуры проекта с использованием Spring Initializer. Инициализатор обеспечивает быстрый способ добавления всех зависимостей, необходимых для вашего проекта. Например, вы можете выбрать проект Maven, Java и Spring Boot версии 2.0.0. Проекты Maven требуют идентификатора группы и идентификатора артефакта, аналогично пакету и классу в Java.

Вам также нужно будет выбрать зависимости, например, Web (чтобы начать разработку веб-приложений), DevTools (упрощает разработку приложений), Actuator (для мониторинга приложения) и Config Client (для подключения приложения к Spring Config). сервер). После того, как вы выбрали все параметры, вы сгенерируете проект. Чтобы узнать больше, обратитесь к разделу «Начало работы с Spring Initializer» ресурса « Создание веб-службы RESTful» . Обратитесь к Spring Data JPA , чтобы узнать, как подключиться к базе данных.

2. Обеспечьте именование и обнаружение службы

Все микросервисы должны быть зарегистрированы, чтобы обнаруживать, когда другой сервис в архитектуре ищет их. Например, определенной службе может потребоваться найти все экземпляры другой службы, повторно запущенные в определенной среде. В этом весеннем учебном пособии по облачным вычислениям вы узнаете, что сервер имен хранит информацию обо всех службах и их экземплярах и предоставляет информацию тем, кто ее ищет. Таким образом, это помогает в процессе обнаружения службы. Дополнительные сведения о регистрации и обнаружении сервисов см. в разделе Регистрация и обнаружение микросервисов с помощью Spring Cloud и Eureka от Netflix .

Читайте: Проекты и темы Spring Boot

3. Задействуйте другие микросервисы

В Spring Cloud требуется сделать несколько вызовов к другим компонентам и службам. Это достигается с помощью Feign, который упрощает процесс, упрощая написание клиентов веб-службы. Чтобы узнать больше, обратитесь к Spring Cloud Open Feign .

4. Обеспечьте балансировку нагрузки

Согласно этому весеннему руководству по облаку, Feign также обеспечивает интеграцию с Ribbon, инфраструктурой балансировки нагрузки на стороне клиента. Лента помогает использовать конфигурацию Feign для распределения вызовов и их балансировки между всеми экземплярами службы, с которыми хочет соединиться другая служба. Дополнительные сведения см . в разделе Балансировка нагрузки на стороне клиента с помощью Ribbon и Spring Cloud .

5. Централизованное управление конфигурацией микросервисов с помощью Spring Cloud Config Server

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

В результате эта конфигурация доступна в одном месте и требуется для использования любой службой в архитектуре. Для централизованного управления конфигурацией вы определите свойства, связанные с новой службой, а затем подключите соответствующий сервер Spring Config, используя Git в качестве репозитория кода. Чтобы узнать больше, обратитесь к документации Spring Config Overview . Чтобы узнать, как подключить Spring Config к Git, обратитесь к Spring Cloud Config .

Читайте также: Зарплата разработчиков Spring в Индии

6. Установите безопасность с помощью Spring Cloud

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

Например, Zuul Server — это приложение шлюза API, которое обрабатывает запросы и выполняет динамическую маршрутизацию приложений микрослужб. Обратитесь к Spring Cloud Gateway , чтобы узнать больше в этом учебном пособии по весеннему облаку .

7. Включите отказоустойчивость

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

Отъезд: Объяснение жизненного цикла Spring Bean

Заключение

Надеемся, что это руководство по Spring Cloud послужит важной отправной точкой для начала работы.

Если вам интересно узнать больше о Spring Cloud, ознакомьтесь с дипломом PG upGrad и IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов и заданий, IIIT -B статус выпускника, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Получите работу своей мечты

ДИПЛОМ PG UPGRAD И IIIT-BANGALORE В РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Применить сейчас