Отказоустойчивость микросервисов: шаблон Circuit Breaker

В этой статье речь пойдет об отказоустойчивости системы микросервисов и о том, как ее обеспечить. Мы рассмотрим шаблон проектирования Circuit Breaker  и сравним его с шаблоном Bulkhead.
Читать далее «Отказоустойчивость микросервисов: шаблон Circuit Breaker»

Spring Cloud Configuration Server

Для одного Spring Boot приложения нормально хранить настройки в локальном application.properties. Но если приложений несколько (микросервисов), и они используют общие настройки, то неплохо бы их вынести в одно общее место. И это можно сделать.
Читать далее «Spring Cloud Configuration Server»

Микросервисы: Eureka и client-side Load Balancing

В этой статье рассмотрим пример с двумя микросервисами. Обнаруживать друг друга они будут с помощью Eureka. Кроме того, рассмотрим, как запускать микросервисы в нескольких экземплярах и балансировать нагрузку на микросервис (со стороны клиента).
Читать далее «Микросервисы: Eureka и client-side Load Balancing»

Введение в Spring Batch: Job, JobInstance, ExecutionContext, JobLauncher и рестарт

Spring Batch предоставляет интерфейс для пакетной обработки данных. Например – конвертация данных из одной базы в другую, из файла в базу, из брокера сообщений в файл и т.д. и т.п. Эти задания могут выполняться разово или по расписанию.
Читать далее «Введение в Spring Batch: Job, JobInstance, ExecutionContext, JobLauncher и рестарт»

Отказоустойчивость в Spring Batch: retry() и skip()

В этой статье рассмотрим, как сделать шаг Step отказоустойчивым. Отказоустойчивость можно настроить только для шага типа Chunks (не для Tasklet).
Читать далее «Отказоустойчивость в Spring Batch: retry() и skip()»

Тестирование с помощью Testcontainers: как поднять в контейнере тестовую базу

Библиотека Testcontainers позволяет поднять тестовую среду в Docker-контейнере на время тестов, что довольно удобно.
Читать далее «Тестирование с помощью Testcontainers: как поднять в контейнере тестовую базу»

OAuth 2 Сlient Credentials Flow. Пример на Spring Boot

В этой статье рассмотрим пример Client Credentials flow с новым экспериментальным сервером авторизации на Spring Boot.  Новый сервер был анонсирован буквально недавно и еще не полностью готов (текущая версия 0.0.2). Но Client Credentials flow (и Authorization Code flow) он уже поддерживает.
Читать далее «OAuth 2 Сlient Credentials Flow. Пример на Spring Boot»