В этой статье речь пойдет об отказоустойчивости системы микросервисов и о том, как ее обеспечить. Мы рассмотрим шаблон проектирования Circuit Breaker и сравним его с шаблоном Bulkhead.
Читать далее «Отказоустойчивость микросервисов: шаблон Circuit Breaker»
Spring Cloud Configuration Server
Для одного Spring Boot приложения нормально хранить настройки в локальном application.properties. Но если приложений несколько (микросервисов), и они используют общие настройки, то неплохо бы их вынести в одно общее место. И это можно сделать.
Читать далее «Spring Cloud Configuration Server»
Spring Cloud API Gateway
В этой статье продолжим дорабатывать предыдущий пример с Eureka и client-side load balancing – добавим в него Spring Cloud API Gateway.
Читать далее «Spring Cloud API Gateway»
Микросервисы: Eureka и client-side Load Balancing
В этой статье рассмотрим пример с двумя микросервисами. Обнаруживать друг друга они будут с помощью Eureka. Кроме того, рассмотрим, как запускать микросервисы в нескольких экземплярах и балансировать нагрузку на микросервис (со стороны клиента).
Читать далее «Микросервисы: Eureka и client-side Load Balancing»
Spring Custom Login Form
В этой статье рассмотрим, как заменить автоматически генерируемую форму ввода имени и пароля на свою собственную на Thymeleaf.
Читать далее «Spring Custom Login Form»
Введение в 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()»
Spring Batch: Tasklet vs Chunks
В этой статье рассмотрим разницу между Chunks и Tasklet.
Читать далее «Spring Batch: Tasklet vs Chunks»
Тестирование с помощью 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»