Перейти к основному содержимому

· 13 мин. чтения

1. Обзор

Spring Cloud — это платформа для создания надежных облачных приложений. Платформа облегчает разработку приложений, предоставляя решения многих распространенных проблем, возникающих при переходе в распределенную среду.

Приложения, работающие с микросервисной архитектурой, призваны упростить разработку, развертывание и обслуживание. Декомпозированный характер приложения позволяет разработчикам сосредоточиться на одной проблеме за раз. Улучшения могут быть введены без воздействия на другие части системы.

С другой стороны, когда мы используем микросервисный подход, возникают другие проблемы:

  • Экстернализация конфигурации, чтобы она была гибкой и не требовала перестроения службы при изменении.
  • Обнаружение службы
  • Скрытие сложности сервисов, развернутых на разных хостах

В этой статье мы создадим пять микрослужб: сервер конфигурации, сервер обнаружения, сервер шлюза, службу книг и, наконец, службу оценки. Эти пять микросервисов образуют надежное базовое приложение для начала разработки облака и решения вышеупомянутых проблем.

· 6 мин. чтения

1. Обзор

В этом руководстве мы познакомимся с проектом Spring Cloud Circuit Breaker и узнаем, как мы можем его использовать.

Во-первых, мы посмотрим, что предлагает Spring Cloud Circuit Breaker в дополнение к существующим реализациям прерывателя цепи. Далее мы узнаем, как использовать механизм автоматической настройки Spring Boot для интеграции одного или нескольких автоматических выключателей в наше приложение.

Обратите внимание, что у нас есть дополнительная информация о том, что такое автоматический выключатель и как он работает, в статьях Introduction to Hystrix , Spring Cloud Netflix Hystrix и Guide to Resilience4j .

2. Автоматический выключатель весеннего облака

· 9 мин. чтения

1. Обзор

Spring Cloud Config — это клиент-серверный подход Spring для хранения и обслуживания распределенных конфигураций в нескольких приложениях и средах.

Это хранилище конфигурации идеально управляется системой управления версиями Git и может быть изменено во время выполнения приложения. Хотя он очень хорошо подходит для приложений Spring, использующих все поддерживаемые форматы файлов конфигурации вместе с такими конструкциями, как Environment , PropertySource или @Value , его можно использовать в любой среде, где работает любой язык программирования.

В этом руководстве мы сосредоточимся на том, как настроить сервер конфигурации с поддержкой Git , использовать его в простом сервере приложений REST и настроить безопасную среду, включая зашифрованные значения свойств.

2. Настройка проекта и зависимости

· 4 мин. чтения

1. Обзор

До сих пор в нашем облачном приложении мы использовали шаблон шлюза для поддержки двух основных функций.

Во-первых, мы изолировали наших клиентов от каждой службы, устранив необходимость в поддержке разных источников. Затем мы реализовали поиск экземпляров сервисов с помощью Eureka.

В этой статье мы рассмотрим, как использовать шаблон Gateway для получения данных из нескольких служб с помощью одного запроса . Для этого мы собираемся внедрить Feign в наш шлюз, чтобы помочь писать вызовы API для наших сервисов.

Чтобы узнать, как использовать клиент Feign, ознакомьтесь с этой статьей .

Spring Cloud теперь также предоставляет проект Spring Cloud Gateway , который реализует этот шаблон.

· 5 мин. чтения

1. Обзор

В этой статье мы рассмотрим настройку приложения Spring Boot на Heroku с использованием Spring Cloud Connectors.

Heroku — это сервис, предоставляющий хостинг для веб-сервисов. Кроме того, они предоставляют большой выбор сторонних сервисов, называемых надстройками, которые обеспечивают все, от мониторинга системы до хранения базы данных.

В дополнение ко всему этому у них есть специальный конвейер CI/CD, который легко интегрируется в Git, что ускоряет разработку и перевод в производство.

Spring поддерживает Heroku через библиотеку Spring Cloud Connectors. Мы будем использовать это для автоматической настройки источника данных PostgreSQL в нашем приложении.

Давайте приступим к написанию приложения.

· 3 мин. чтения

1. Введение

В этой быстрой статье мы собираемся создать приложение Spring Cloud, которое использует учетные данные профиля экземпляра для подключения к корзине S3.

2. Подготовка нашей облачной среды

Профили экземпляров — это функция AWS, которая позволяет экземплярам EC2 подключаться к другим ресурсам AWS с временными учетными данными. Эти учетные данные недолговечны и автоматически меняются AWS.

Пользователи могут запрашивать временные учетные данные только из инстансов EC2. Однако мы можем использовать эти учетные данные из любого места до истечения срока их действия.

· 11 мин. чтения

1. Обзор

В предыдущей статье Spring Cloud — Bootstrapping мы создали базовое приложение Spring Cloud . В этой статье показано, как его защитить.

Естественно, мы будем использовать Spring Security для совместного использования сессий с помощью Spring Session и Redis . Этот метод прост в настройке и легко распространяется на многие бизнес-сценарии. Если вы не знакомы с Spring Session , ознакомьтесь с этой статьей .

Совместное использование сеансов дает нам возможность регистрировать пользователей в нашей службе шлюза и распространять эту аутентификацию на любую другую службу нашей системы.

Если вы не знакомы с Redis или Spring Security , рекомендуется сделать краткий обзор этих тем на этом этапе. Хотя большая часть статьи готова к копированию и вставке для приложения, нет никакой замены для понимания того, что происходит под капотом.

Для ознакомления с Redis прочитайте этот учебник. Для ознакомления с Spring Security прочтите spring-security-login , role-and-privivity-for-spring-security-registration и spring-security-session . Чтобы получить полное представление о Spring Security, взгляните на Learn-spring-security-the-master-class .

· 5 мин. чтения

1. Обзор

В этой статье мы собираемся добавить Zipkin в наш весенний облачный проект . Zipkin — это проект с открытым исходным кодом, предоставляющий механизмы для отправки, получения, хранения и визуализации трассировок. Это позволяет нам сопоставлять активность между серверами и получать более четкое представление о том, что именно происходит в наших службах.

Эта статья не является вводной статьей по распределенной трассировке или весеннему облаку. Если вам нужна дополнительная информация о распределенной трассировке, прочитайте наше введение в spring sleuth .

2. Зипкин Сервис

Наш сервис Zipkin будет служить хранилищем для всех наших пролетов. Каждый диапазон отправляется в эту службу и собирается в трассировки для будущей идентификации.

· 5 мин. чтения

1. Обзор

В этой статье мы продемонстрируем несколько аспектов генерации отчетов о покрытии кода с помощью Cobertura .

Проще говоря, Cobertura — это инструмент отчетности, который вычисляет покрытие тестами для кодовой базы — процент ветвей/строк, к которым обращаются модульные тесты в проекте Java.

2. Плагин Maven

2.1. Конфигурация Maven

· 4 мин. чтения

1. Введение

Thymeleaf — это механизм шаблонов Java для обработки и создания HTML, XML, JavaScript, CSS и открытого текста. Чтобы познакомиться с Thymeleaf и Spring, ознакомьтесь с этой статьей .

В этой статье мы обсудим, как предотвратить атаки с подделкой межсайтовых запросов (CSRF) в Spring MVC с помощью приложения Thymeleaf. Чтобы быть более конкретным, мы протестируем атаку CSRF для метода HTTP POST.

CSRF — это атака, которая вынуждает конечного пользователя выполнять нежелательные действия в веб-приложении, в котором в данный момент проходит аутентификация.

2. Зависимости Maven