Содержание книги "Микросервисы Spring в действии
"
Предисловие от издательства
Предисловие
Благодарности
Об этой книге
1. Добро пожаловать в Spring Cloud
1.1. Эволюция архитектуры микросервисов
1.2. Микросервисы со Spring
1.3. Что мы будем создавать?
1.4. О чем эта книга?
1.5. Облачные приложения и приложения на основе микросервисов
1.6. Микросервисы – это больше чем код
1.7. Базовый шаблон разработки микросервисов
1.8. Шаблоны маршрутизации
1.9. Устойчивость клиентов
1.10. Шаблоны безопасности
1.11. Шаблоны журналирования и трассировки
1.12. Шаблон сбора метрик приложения
1.13. Шаблоны сборки/развертывания микросервисов
Итоги
2. Обзор мира микросервисов через призму Spring Cloud
2.1. Что такое Spring Cloud?
2.2. Пример использования Spring Cloud
2.3. Приемы создания облачных микросервисов
2.4. Актуальность наших примеров
2.5. Создание микросервиса с использованием Spring Boot и Java
Итоги
3. Создание микросервисов с использованием Spring Boot
3.1. Точка зрения архитектора: проектирование микросервисной архитектуры
3.2. Когда не следует использовать микросервисы
3.3. Точка зрения разработчика: создание микросервиса с использованием Spring Boot и Java
3.4. Точка зрения инженера DevOps: сборка выполняемых артефактов
3.5. Объединение точек зрения
Итоги
4. Добро пожаловать в Docker
4.1. Контейнеры или виртуальные машины?
4.2. Что такое Docker?
4.3. Файлы Dockerfile
4.4. Docker Compose
4.5. Интеграция Docker с микросервисами
Итоги
5. Управление конфигурациями с использованием Spring Cloud Configuration Server
5.1. Об управлении конфигурациями (и сложностью)
5.2. Настройка Spring Cloud Configuration Server
5.3. Интеграция Spring Cloud Config с клиентом Spring Boot
5.4. Защита конфиденциальных настроек в конфигурации
5.5. Заключительные мысли
Итоги
6. Обнаружение служб
6.1. Где моя служба?
6.2. Обнаружение служб в облаке
6.3. Создание службы Spring Eureka
6.4. Регистрация служб в Spring Eureka
6.5. Использование механизма обнаружения служб
Итоги
7. Когда случаются неприятности: шаблоны устойчивости с использованием Spring Cloud и Resilience4j
7.1. Шаблоны устойчивости на стороне клиента
7.2. Почему устойчивость клиента важна
7.3. Реализация с Resilience4j
7.4. Подготовка службы лицензий к использованию Spring Cloud и Resilience4j
7.5. Реализация размыкателя цепи
7.6. Использование резервной реализации
7.7. Реализация шаблона герметичных отсеков
7.8. Реализация шаблона повторных попыток
7.9. Реализация шаблона ограничителя частоты
7.10. ThreadLocal и Resilience4j
Итоги
8. Маршрутизация служб с использованием Spring Cloud Gateway
8.1. Что такое сервисный шлюз?
8.2. Введение в Spring Cloud Gateway
8.3. Настройка маршрутов в Spring Cloud Gateway
8.4. Настоящая мощь Spring Cloud Gateway: фабрики предикатов и фильтров
8.5. Создание предварительного фильтра
8.6. Использование идентификатора корреляции в службах
8.7. Создание заключительного фильтра, добавляющего идентификатор корреляции
Итоги
9. Безопасность микросервисов
9.1. Что такое OAuth2?
9.2. Введение в Keycloak
9.3. Начнем с малого: использование Spring и Keycloak для защиты единственной конечной точки
9.4. Защита службы организаций с использованием Keycloak
9.5. Некоторые заключительные рассуждения о безопасности микросервисов
Итоги
10. Событийно-ориентированная архитектура и Spring Cloud Stream
10.1. Обмен сообщениями, событийно-ориентированная архитектура и микросервисы
10.2. Введение в Spring Cloud Stream
10.3. Простые издатель и получатель сообщений
10.4. Пример использования Spring Cloud Stream: распределенное кеширование
Итоги
11. Распределенная трассировка с использованием Spring Cloud Sleuth и Zipkin
11.1. Spring Cloud Sleuth и идентификатор корреляции
11.2. Агрегирование журналов и Spring Cloud Sleuth
Итоги
12. Развертывание микросервисов
12.1. Архитектура конвейера сборки/развертывания
12.2. Настройка базовой инфраструктуры для O-stock в облаке
12.3. После подготовки инфраструктуры: развертывание O-stock и ELK
12.4. Конвейер сборки/развертывания в действии
12.5. Создание конвейера сборки/развертывания
12.6. Заключительные рассуждения о конвейере сборки/развертывания
Итоги
Приложение A
Приложение B
Приложение C
Предметный указатель