Etcd v3
Поддерживаются как производитель, так и потребитель
Компонент Etcd v3 позволяет работать с Etcd -- распределенным надежным хранилищем ключей и значений.
Пользователям Maven необходимо добавить следующую зависимость для pom.xmlэтого компонента:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-etcd3</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>URI Format
<span style="color: rgb(0,0,0);">etcd3:path[?options]</span>
Configuring Options
Компоненты настраиваются на двух отдельных уровнях:
-
component level
-
edpoint level
Configuring Component Options
На уровне компонента задаются основные и общие настройки, которые впоследствии наследуются endpoints. Это самый высокий уровень конфигурации.
Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевых подключений и т. д.
Некоторые компоненты имеют всего несколько параметров, в то время как у других их может быть много. Поскольку компоненты обычно имеют предварительно настроенные значения по умолчанию, которые используются в большинстве случаев, вам может понадобиться настроить только несколько параметров компонента или вообще ничего не настраивать.
Компоненты можно настроить с использованием:
-
Component DSL.
-
Конфигурационного файла (application.properties, *.yaml files, etc).
-
Напрямую в Java code.
Configuring Endpoint Options
Обычно больше времени уходит на настройку endpoints, так как они обладают множеством параметров. Эти параметры позволяют настроить поведение endpoint в соответствии с вашими потребностями. Кроме того, параметры делятся на категории в зависимости от того, используется ли endpoint как потребитель (from), как производитель (to) или в обеих ролях.
Настройка endpoints чаще всего выполняется непосредственно в URI endpoint в виде параметров пути и запроса. Также вы можете использовать Endpoint DSL и DataFormat DSL как типобезопасный способ настройки endpoints и форматов данных в Java.
Хорошей практикой при настройке параметров является использование Property Placeholders.
Property placeholders предоставляют несколько преимуществ:
-
Помогают избежать использования жестко закодированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.
-
Позволяют вынести конфигурацию за пределы кода.
-
Делают код более гибким и удобным для повторного использования.
Component properties
Endpoints
-
Настраивает endpoints сервера etcd с использованием IPNameResolver. Несколько endpoints можно разделять запятой.
-
По умолчанию: http://localhost:2379 (opens in a new tab)
-
Тип: String
Key Charset
-
Настраивает кодировку, используемую для ключей.
-
По умолчанию: UTF-8
-
Тип: String
Namespace
-
Настраивает пространство имен используемых ключей. / будет рассматриваться как отсутствие пространства имен.
-
По умолчанию:
-
Тип: String
Path
-
Путь, на который ссылается endpoint.
-
По умолчанию:
-
Тип: String
Prefix
-
Тип: Выполняет действие для всех пар ключ-значение, у которых ключ начинается с указанного пути.
-
По умолчанию: false
-
Тип: boolean
Service Path
-
Путь поиска service discovery.
-
По умолчанию: /services/
-
Тип: String
Component security properties
Password
-
Настраивает пароль аутентификации etcd.
-
По умолчанию:
-
Тип: String
Ssl Context
-
Задает параметры SSL/TLS вместо системных настроек.
-
По умолчанию:
-
Тип: SslContext
User Name
-
Тип: Настраивает пользователя аутентификации etcd.
-
По умолчанию:
-
Тип: String
Component advanced properties
Auth Headers
-
Определяет заголовки для добавления в запрос аутентификации.
-
По умолчанию:
-
Тип: Map
Authority
-
Тип: Указывает параметры аутентификации для соединений с серверами.
-
По умолчанию:
-
Тип: String
Bridge Error Handler
-
Предоставляет возможность связать потребителя с маршрутизатором Error Handler Camel. Это позволяет обрабатывать исключения (если возможно), возникающие при получении входящих сообщений потребителем Camel, в виде сообщений, передаваемых в маршрутизатор Error Handler.
Важно: Это возможно только в том случае, если сторонний компонент позволяет Camel получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают исключения только внутренне, из-за чего использование bridgeErrorHandler становится невозможным. В некоторых случаях мы можем доработать компонент Camel, чтобы интегрировать его со сторонним компонентом и сделать такую возможность доступной в будущих выпусках. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые логируются с уровнем WARN или ERROR и игнорируются.
-
По умолчанию: false
-
Тип: boolean
Connection Timeout
-
Настраивает таймаут соединения.
-
По умолчанию:
-
Тип: Duration
Exception Handler
-
Позволяет потребителю использовать собственный ExceptionHandler.
Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.
-
По умолчанию:
-
Тип: ExceptionHandler
Exchange Pattern
-
Тип: Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).
Возможные значения:
-
InOnly
-
InOut
-
-
По умолчанию:
-
Тип: ExchangePattern
From Index
-
Индекс, с которого следует начинать просмотр.
-
По умолчанию: 0
-
Тип: long
Headers
-
Настройте заголовки, которые будут добавлены к заголовкам HTTP-запроса.
-
По умолчанию:
-
Тип: Map
Keep Alive Time
-
Настройте интервал для keepalive в gRPC. Текущий минимальный интервал, разрешённый gRPC, составляет 10 секунд.
-
По умолчанию: 30 seconds
-
Тип: Duration
Load Balancer Policy
-
Настраивает политику балансировки нагрузки для etcd.
-
По умолчанию:
-
Тип: String
Max Inbound Message Size
-
Настраивает максимальный размер сообщения, разрешённого для одного фрейма gRPC.
-
По умолчанию:
-
Тип: Integer
Retry Delay
-
Тип: Настраивает задержку между попытками в миллисекундах.
-
По умолчанию: 500
-
Тип: long
Retry Max Delay
-
Настраивает максимальную задержку между попытками восстановления в миллисекундах.
-
По умолчанию: 2500
-
Тип: long
Retry Max Duration
-
Настраивает максимальную продолжительность попыток повторного выполнения.
-
По умолчанию:
-
Тип: Duration
Ssl Context
-
Настраивает контекст SSL/TLS для использования вместо системного по умолчанию.
-
По умолчанию:
-
Тип: SslContext