Обработка исключений Spring Boot REST API – ResponseEntityExceptionHandler

В части 1 мы рассмотрели варианты обработки исключений, выбрасываемых в контроллере.
Читать далее «Обработка исключений Spring Boot REST API – ResponseEntityExceptionHandler»

Spring Boot REST API – обработка исключений. Часть 1

В этой статье – обзор способов обработки исключений в Spring Boot.
Читать далее «Spring Boot REST API – обработка исключений. Часть 1»

Введение в Spring Security ACL

Access Control List (ACL)  – это список разрешений на объект.  Этот список определяет, какому пользователю (или какой роли) какие операции разрешены над конкретным экземпляром объекта.
Читать далее «Введение в Spring Security ACL»

Защита методов – аннотация @PreAuthorize

Мы уже рассмотрели авторизацию на основе url, но ее бывает недостаточно. В этой статье мы рассмотрим, как защитить отдельные методы (любые – как методы контроллеров, так и сервисов). То есть разрешить вызов метода только пользователю с конкретными правами. (А вообще можно задать любые условия).
Читать далее «Защита методов – аннотация @PreAuthorize»

Отказоустойчивость микросервисов: шаблон 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 и рестарт»