В этой статье рассмотрим шаблон “Стратегия”, который показывает, что композиция лучше наследования.
Читать далее «Шаблон стратегия: HAS-A лучше, чем IS-A»
Обработка исключений Spring Boot REST API – ResponseEntityExceptionHandler
В части 1 мы рассмотрели варианты обработки исключений, выбрасываемых в контроллере.
Читать далее «Обработка исключений Spring Boot REST API – ResponseEntityExceptionHandler»
Spring Boot REST API – обработка исключений. Часть 1
В этой статье – обзор способов обработки исключений в Spring Boot.
Читать далее «Spring Boot REST API – обработка исключений. Часть 1»
Forward Proxy vs. Reverse Proxy
В этой статье рассмотрим разницу между шаблонами Forward Proxy и Reverse Proxy.
Читать далее «Forward Proxy vs. Reverse Proxy»
Введение в 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»
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»