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

64 записи с тегом "Spring Cloud"

Посмотреть все теги

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

1. Введение

Spring Cloud Data Flow — это облачная модель программирования и эксплуатации для компонуемых микросервисов данных.

С помощью Spring Cloud Data Flow разработчики могут создавать и организовывать конвейеры данных для распространенных случаев использования, таких как прием данных, аналитика в реальном времени и импорт/экспорт данных.

Эти конвейеры данных бывают двух видов: конвейеры потоковых и пакетных данных.

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

В этой статье речь пойдет о потоковой обработке.

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

1. Обзор

В первой статье серии мы представили архитектурный компонент Spring Cloud Data Flow и то, как его использовать для создания конвейера потоковых данных.

В отличие от потокового конвейера, где обрабатывается неограниченное количество данных, пакетный процесс упрощает создание краткосрочных служб, в которых задачи выполняются по запросу .

2. Локальный сервер потока данных и оболочка

Локальный сервер потока данных — это компонент, который отвечает за развертывание приложений, а оболочка потока данных позволяет нам выполнять команды DSL, необходимые для взаимодействия с сервером.

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

1. Введение

Apache Kafka — это платформа для обмена сообщениями. С его помощью мы можем обмениваться данными между различными приложениями в любом масштабе.

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

Обычно Kafka используется с форматом сообщений Avro, поддерживаемым реестром схем. В этом руководстве мы будем использовать реестр Confluent Schema. Мы попробуем реализацию интеграции Spring с реестром Confluent Schema Registry, а также собственные библиотеки Confluent.

2. Реестр слитных схем

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

1. Введение

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

В этом руководстве мы рассмотрим, как использовать Spring Cloud Config без git.

2. Обзор конфигурации Spring Cloud

Библиотека Spring Cloud Config представляет собой типичную клиент-серверную модель . Централизованный сервер (или серверы) считывает данные конфигурации из какого-либо внешнего источника данных. Эти серверы предоставляют различные конечные точки HTTP, которые позволяют любому другому приложению запрашивать данные конфигурации.

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

1. Обзор

В этой статье мы рассмотрим новый проект Spring Cloud Bus. Spring Cloud Bus использует упрощенный брокер сообщений для связи узлов распределенной системы. Основное использование — широковещательная рассылка изменений конфигурации или другой управляющей информации. Мы можем думать об этом как о распределенном актуаторе .

В качестве транспорта проект использует брокера AMQP, но вместо RabbitMQ можно использовать Apache Kafka или Redis. Другие транспорты пока не поддерживаются.

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

2. Предпосылки

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

1. Обзор

Zuul — это маршрутизатор на базе JVM и балансировщик нагрузки на стороне сервера от Netflix . Механизм правил Zuul обеспечивает гибкость при написании правил и фильтров для улучшения маршрутизации в архитектуре микросервисов Spring Cloud.

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

2. Исключения для зуулов

Все обрабатываемые исключения в Zuul — это ZuulExceptions . Теперь давайте проясним, что ZuulException не может быть перехвачено @ControllerAdvice и аннотировано методом @ExceptionHandling . Это связано с тем, что ZuulException выбрасывается из фильтра ошибок . Таким образом, он пропускает последующие цепочки фильтров и никогда не достигает контроллера ошибок. На следующем рисунке показана иерархия обработки ошибок в Zuul:

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

1. Обзор

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

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

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

2. Настройка приложения

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

1. Обзор

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

2. Чтение свойств весной

У нас есть разные варианты доступа к свойствам в Spring:

  1. Environment — мы можем внедрить Environment , а затем использовать Environment#getProperty для чтения данного свойства. Environment содержит различные источники свойств, такие как системные свойства, параметры -D и application.properties (.yml) . Кроме того, в среду можно добавить дополнительные источники свойств с помощью @PropertySource .
  2. Свойства — мы можем загрузить файлы свойств в экземпляр свойств , а затем использовать их в bean-компоненте, вызвав properties.get("property").
  3. @Value — мы можем внедрить определенное свойство в bean-компонент с помощью аннотации @Value(${'property'}) .
  4. @ConfigurationProperties — мы можем использовать @ConfigurationProperties для загрузки иерархических свойств в bean-компоненте.

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

Изучите Spring Cloud, включая концепции, дополнительные библиотеки и примеры для распределенных систем.

./3b4de9e94a9b7504a2d8cd41cc63bff0.png

Введение в основные проекты

./396f22c43065aa6b6bd6a26e36ed96fb.png

Идти дальше

./aa583059a8ddfa45736f68892efd0f3f.png

Весеннее облако Нетфликс

./4c067f7f7b9aafd3ddf9268df0252b6f.png

Облачный поток данных Spring

./69ef66de150a4764969f35578e10de2f.png

Весеннее облако AWS

./69ef66de150a4764969f35578e10de2f.png

Spring Cloud DevOps

./69ef66de150a4764969f35578e10de2f.png

Примеры весеннего облака

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

1. Введение

Spring Cloud Feign Client — это удобный декларативный REST-клиент, который мы используем для реализации связи между микросервисами.

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

2. По умолчанию

Feign Client довольно настраиваемый.