Тип сервиса ArtemisProxy#
Сервисы данного типа реализуют взаимодействие с брокером сообщений Artemis MQ с использованием JMS.
В настоящее время поддерживается только взаимодействия в виде точка-точка.
При использовании сервиса поддерживаются следующие варианты взаимодействия:
асинхронное http-mq — HTTP запрос, приходящий в сервис ArtemisProxy, преобразуется в сообщение ActiveMQ и помещается в очередь, после чего клиенту возвращается HTTP ответ (успешный или содержащий ошибку);
синхронное http-mq — HTTP запрос, приходящий в сервис ArtemisProxy, преобразуется в сообщение ActiveMQ и помещается в очередь, после чего ожидается получение сообщения из очереди, которая указана как очередь ответов. После получения ответа, он трансформируется в HTTP протокол и отправляется клиенту;
асинхронный mq-http — сервис ожидает сообщения в очереди, указанной в качестве параметра. После получения сообщения, оно трансформируется в HTTP запрос и отправляется на сервис, указанный в качестве параметра;
синхронный mq-http — сервис ожидает сообщения в очереди, указанной в качестве параметра. После получения сообщения, оно трансформируется в HTTP запрос и отправляется на сервис, указанный в качестве параметра. Далее ожидается ответ от сервиса, после чего он трансформируется в сообщение и помещается в очередь, которая указана как очередь ответов.
В каждом сервисе ArtemisProxy одновременно может быть использован только один вариант взаимодействия.
В контексте service объявляется тип сервиса, соответствующий service_artemis_proxy:
service:
service_artemis_proxy:
Каждый сервис представляет собой последовательность, включающую в себя следующие параметры:
id
Идентификатор сервиса в контексте всего профиля, обязательный параметр. Используется, например, в названии директории и других системных файлов, хранящих информацию о сервисе.
Значение параметра id должно быть уникальным.
Идентификатор может быть строкой, числом, или их комбинацией. В качестве разделителя слов необходимо использовать знак нижнее подчеркивание «_».
Тип параметра: текстовое значение.
name
Технологическое название сервиса, используемое для идентификации сервиса в логах транзакций.
Значение параметра name должно быть уникальным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
trust_store
Путь к файлу, хранилищу доверенных сертификатов в формате JKS.
Обязательность: обязателен в случае если значения параметров artemis_sowa/from/ssl_enabled или sowa_artemis/to/ssl_enabled равны true.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
Примечание: хранилище игнорируется в том случае, если artemis_sowa/from/ssl_options/trustAll или sowa_artemis/to/ssl_options/trustAll равны true. В качестве пути может использоваться путь к секрету в Vault.
key_store
Путь к файлу, хранилищу ключей в формате JKS.
Обязательность: обязателен в случае если значения параметров artemis_sowa/from/ssl_enabled или sowa_artemis/to/ssl_enabled равны true.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
Примечание: В качестве пути может использоваться путь к секрету в Vault.
secrets
Путь к файлу с секретами.
Обязательность: обязателен в случае если значения параметров trust_store или key_store определены.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
Примечание: В файле с секретами должны содержаться параметры:
artemis.user — имя пользователя для установления соединения с брокером. Указывается, если используется аутентификация по имени пользователя и паролю.
artemis.password — пароль пользователя для установления соединения с брокером. Указывается, если используется аутентификация по имени пользователя и паролю.
truststore.pass — пароль от хранилища указанного в параметре trust_store.
keystore.pass — пароль от хранилища указанного в параметре key_store.
Примечание: В качестве пути может использоваться путь к секрету в Vault.
artemis_sowa
Параметр artemis_sowa является обязательным, если не определен параметр sowa_artemis.
Параметр может быть задан, только если не определен параметр sowa_artemis.
Данный параметр определяет использование варианта взаимодействия artemis-http.
Тип параметра: последовательность параметров и их значения.
По умолчанию: не имеет значения по умолчанию.
from
Параметр from является обязательным.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
brokers
Определяет список адресов брокеров (в виде ip-адрес:порт или dn:порт)
Параметр brokers является обязательным.
Тип параметра: последовательность текстовых значений.
По умолчанию: значение задается пользователем.
queue
Имя очереди для вычитки сообщений.
Параметр queue является обязательным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
ssl_enabled
Признак установки SSL-соединения.
Тип параметра: булево значение.
По умолчанию: false.
ssl_options
Группа параметров, определяющих параметры ssl соединения.
Тип параметра: последовательность параметров и их значения.
Обязателен в случае, если значение параметра ssl_enabled имеет значение true.
Список параметров группы:
trust_all
Отключает проверку предъявляемых брокером сертификатов. Не рекомендуется использовать в продукционном окружении.
Тип параметра: булево значение.
По умолчанию: false.
verify_host
Включает проверку соответствия dn-имени сервера брокера, указанному в предъявляемом сертификате.
Тип параметра: булево значение.
По умолчанию: false.
enabled_cipher_suites
Параметр определяет набор поддерживаемых криптографических алгоритмов.
Параметр enabled_cipher_suites является обязательным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
enabled_protocols
Параметр определяет набор поддерживаемых криптографических протоколов передачи данных.
Параметр enabled_protocols является обязательным.
Тип параметра: текстовое значение.
По умолчанию: TLS 1.2.
consumers_amount
Определяет количество одновременно запускаемых consumer для вычитки сообщений из очереди.
Параметр consumers_amount является обязательным.
Тип параметра: целочисленное значение.
По умолчанию: значение задается пользователем.
jms_type
Тип обрабатываемых сообщений (текстовые/бинарные).
Параметр jms_type является обязательным.
Возможные значения:
- Text; - Bytes.По умолчанию: определяется автоматически на основании параметров сообщения.
reply
Определяет параметры синхронного взаимодействия.
Тип параметра: последовательность текстовых значений.
По умолчанию: значение задается пользователем.
queue
Имя очереди сообщений, в которую будет отправлен преобразованный HTTP ответ от внешнего сервиса.
Параметр queue является обязательным.
Тип параметра: текстовое значение.
restricted_return_codes
Тип параметра: последовательность текстовых значений.
Определяет список HTTP статусов ответов, по которым будет сгенерировано сообщение для помещения в очередь ответов. По умолчанию в очередь будут отправлены только ответы с 200 кодом.
remove_headers_pattern
Задается регулярное выражение для удаления заголовков перед отправкой в очередь.
Тип параметра: текстовое значение.
jms_type
Задается формат сообщений при использовании параметра reply (текстовые/бинарные).
Возможные значения:
Text;
Bytes.
ssl_enabled
Признак установки SSL-соединения.
Тип параметра: булево значение.
По умолчанию: false
ssl_options
Группа параметров, определяющих параметры ssl соединения.
Тип параметра: последовательность параметров и их значения.
Обязателен в случае, если значение параметра ssl_enabled имеет значение true.
Список параметров группы:
trust_all
Отключает проверку предъявляемых брокером сертификатов. Не рекомендуется использовать в продукционном окружении.
Тип параметра: булево значение.
По умолчанию: false.
verify_host
Включает проверку соответствия dn-имени сервера брокера, указанному в предъявляемом сертификате.
Тип параметра: булево значение.
По умолчанию: false.
enabled_cipher_suites
Параметр определяет набор поддерживаемых криптографических алгоритмов.
Параметр enabled_cipher_suites является обязательным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
enabled_protocols
Параметр определяет набор поддерживаемых криптографических протоколов передачи данных.
Параметр enabled_protocols является обязательным.
Тип параметра: текстовое значение.
По умолчанию: TLS 1.2.
failover_options
Группа параметров, определяющих настройки переподключения к брокеру в случае ошибок соединения.
Тип параметра: последовательность текстовых значений.
По умолчанию: задается пользователем
initial_connect_attempts
Определяет количество попыток, которые будут предприняты при первоначальном подключении к брокеру перед первым успешным соединением и перед тем, как клиент начнет обозревать топологию кластера.
Значение по умолчанию: 0, только одна попытка доступна.
Тип параметра: целое значение
failover_on_initial_connection
Определяет, будет ли клиент подключаться к backup серверу, если попытка первоначального соединения завершилась с ошибкой.
Тип параметра: булево значение.
По умолчанию: false
reconnect_attempts
Определяет количество попыток установки соединения перед тем, как будет зафиксирована ошибка соединения.
Тип параметра: целочисленное значение.
По умолчанию: -1, количество попыток не ограничено.
retry_interval
Определяет интервал в миллисекундах между попытками установки соединения.
Тип параметра: целочисленное значение.
По умолчанию: 2000.
retry_interval_multiplier
Определяет множитель для скользящего увеличения интервала попыток повторной установки соединения.
Тип параметра: число с плавающей точкой.
По умолчанию: 1.0.
discovery_options
Группа параметров, определяющая настройки дискаверинга HA-кластера.
Тип параметра: последовательность значений.
Группа имеет следующие параметры:
ha
Определяет, будут ли отслеживаться изменения топологии HA-кластера. В случае, если значение выставлено в true, кластер использует указанные адреса брокеров в параметре brokers только для начального подключения. Все дальнейшие изменения и список failover брокеров он будет принимать через уведомления из текущего соединения с брокером.
Тип значения: булево значение.
По умолчанию: false.
use_topology_for_load_balancing
Определяет, использовать ли топологию кластера для балансировки соединений.
Тип значения: булево значение.
По умолчанию: true
core_options
Группа параметров, определяющих настройки обмена сетевыми пакетами при соединении с брокером.
Тип параметра: последовательность текстовых значений.
По умолчанию: задается пользователем
connection_ttl
Определяет время (в миллисекундах), по истечении которого, если брокер не отправляет PING-пакеты, соединение будет считаться разорванным.
Тип параметра: целочисленное значение.
По умолчанию: 60000
confirmation_window_size
Определяет размер буфера повторного выполнения команд. Используется для автоматического восстановления сессий при повторном соединении.
Тип параметра: целочисленное значение
По умолчанию: -1, автоматическое восстановление сессии при повторной установке соединения отключено.
client_failure_check_period
Определяет интервал проверки dead соединений.
Тип параметра: целочисленное значение.
По умолчанию: 30000.
Примечание: установление значения в -1 отключает проверку.
to
Параметр to является обязательным.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
remove_headers_pattern
Задается регулярное выражение для удаления заголовков перед отправкой в SOWA.
Тип параметра: текстовое значение.
service_id
Идентификатор сервиса профиля, куда будут отправляться HTTP запросы.
Параметр service_id является обязательным.
Тип параметра: текстовое значение.
service_type
Тип сервиса профиля, куда будут отправляться HTTP-запросы.
Параметр service_type является обязательным.
Тип параметра: текстовое значение.
service_url
URL сервиса, на который будут отправлять HTTP запросы.
Тип параметра: текстовое значение.
По умолчанию: автоматически сгенерированное значение соответствующее url сервиса, указанного в параметре service_id.
timeout
Определяется таймаут в миллисекундах на отправку HTTP запроса.
Тип параметра: целочисленное значение.
По умолчанию:
timeout: 10000content_type
Значение, которое будет устанавливаться в заголовок Content-Type отправляемого HTTP-запроса.
Тип параметра: текстовое значение.
sowa_artemis
Определяет маршрут взаимодействия http-artemis mq.
Может быть определен, только если не определен параметр artemis_sowa.
Тип параметра: последовательность параметров и их значения.
По умолчанию: не имеет значения по умолчанию.
from
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
remove_headers_pattern
Задается регулярное выражение для удаления заголовков перед отправкой в SOWA.
Тип параметра: текстовое значение.
to
Параметр to является обязательным.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
brokers
Определяет список брокеров для отправки сообщений (в формате ip:порт или dn:порт).
Параметр brokers является обязательным.
Тип параметра: последовательность текстовых значений.
По умолчанию: значение задается пользователем.
queue
Имя очереди для отправки сообщений.
Параметр queue является обязательным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
jms_type
Определяет тип содержимого сообщения (текстовый или бинарный).
Параметр jms_type является обязательным.
Возможные значения:
- Text; - Bytes.По умолчанию: определяется автоматически.
ssl_enabled
Признак установки SSL-соединения.
Тип параметра: булево значение.
По умолчанию: false.
ssl_options
Группа параметров, определяющих параметры ssl соединения.
Тип параметра: последовательность параметров и их значения
Обязателен в случае, если значение параметра ssl_enabled имеет значение true.
Список параметров группы:
trust_all
Отключает проверку предъявляемых брокером сертификатов. Не рекомендуется использовать в продукционном окружении.
Тип параметра: булево значение.
По умолчанию: false.
verify_host
Включает проверку соответствия dn-имени сервера брокера, указанному в предъявляемом сертификате.
Тип параметра: булево значение.
По умолчанию: false.
enabled_cipher_suites
Параметр определяет набор поддерживаемых криптографических алгоритмов.
Параметр enabled_cipher_suites является обязательным.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
enabled_protocols
Параметр определяет набор поддерживаемых криптографических протоколов передачи данных.
Параметр enabled_protocols является обязательным.
Тип параметра: текстовое значение.
По умолчанию: TLS 1.2.
failover_options
Группа параметров, определяющих настройки переподключения к брокеру в случае ошибок соединения.
Тип параметра: последовательность текстовых значений.
По умолчанию: задается пользователем
initial_connect_attempts
Определяет количество попыток, которые будут предприняты при первоначальном подключении к брокеру перед первым успешным соединением и перед тем, как клиент начнет обозревать топологию кластера.
Значение по умолчанию: 0, только одна попытка доступна.
Тип параметра: целое значение
failover_on_initial_connection
Определяет, будет ли клиент подключаться к backup серверу, если попытка первоначального соединения завершилась с ошибкой
Тип параметра: булево значение
По умолчанию: false
reconnect_attempts
Определяет количество попыток установки соединения перед тем как будет зафиксирована ошибка соединения.
Тип параметра: целочисленное значение.
По умолчанию: -1, количество попыток не ограничено.
retry_interval
Определяет интервал в миллисекундах между попытками установки соединения.
Тип параметра: целочисленное значение.
По умолчанию: 2000.
retry_interval_multiplier
Определяет множитель для скользящего увеличения интервала попыток повторной установки соединения.
Тип параметра: Число с плавающей точкой.
По умолчанию: 1.0.
discovery_options
Группа параметров определяющая настройки discovery HA-кластера.
Тип параметра: Последовательность значений
Группа имеет следующие параметры:
ha
Определяет, будут ли отслеживаться изменения топологии HA кластере. В случае если значение выставлено в true кластер использует указанные адреса брокеров в параметре brokers только для начального подключения. Все дальнейшие изменения и список failover брокеров он будет принимать через уведомления из текущего соединения с брокером.
Тип значения: булево значение.
По умолчанию: false.
use_topology_for_load_balancing
Определяет, использовать ли топологию кластера для балансировки соединений.
Тип значения: булево значение.
По умолчанию: true
core_options
Группа параметров определяющих настройки обмена сетевыми пакетами при соединение с брокером.
Тип параметра: последовательность текстовых значений.
По умолчанию: задается пользователем
connection_ttl
Определяет время(в миллисекундах) поcле истечения которого, если брокер не отправляет PING-пакеты, соединение будет считаться разорванным.
Тип параметра: целочисленное значение.
По умолчанию: 60000
confirmation_window_size
Определяет размер буфера повторного выполнения команд, используется для автоматического восстановления сессий при повторном соединении.
Тип параметра: целочисленное значение
По умолчанию: -1, автоматическое восстановление сессии при повторной установке соединения отключено.
client_failure_check_period
Определяет интервал проверки dead соединений.
Тип параметра: целочисленное значение.
По умолчанию: 30000
Примечание: установление значения в -1 отключает проверку.
remove_headers_pattern
Задается регулярное выражение для удаления заголовков перед отправкой в очередь.
Тип параметра: текстовое значение.
reply
Определяет параметры вычитки из очереди ответных сообщений, куда будут помещаться ответы от внешнего сервиса.
Тип параметра: последовательность текстовых значений.
По умолчанию: значение задается пользователем.
queue
Имя очереди, куда будут помещаться сообщения от внешнего сервиса.
Параметр queue является обязательным.
Тип параметра: текстовое значение.
timeout
Параметр является обязательным.
Определяет время ожидания ответа от внешнего сервиса.
Тип параметра: целочисленное значение.
По умолчанию: значение задается пользователем.
ArtemisProxy - optional#
В разделе приведено описание опциональных параметров для сервиса ArtemisProxy.
jvm_options
Дополнительные параметры запуска Java VM для указанного профиля.
Тип параметра: последовательность текстовых значений.
input_charset
Кодировка входящих значений.
Тип параметра: текстовое значение.
По умолчанию: UTF-8
output_charset
Кодировка исходящих сообщений.
Тип параметра: текстовое значение.
По умолчанию: UTF-8
log_level
Определяется уровень логирования.
Тип параметра: текстовое значение.
«ALL»;
«DEBUG»;
«INFO»;
«WARN»;
«ERROR»;
«FATAL»;
«OFF»;
«TRACE».
По умолчанию: ALL.
event_hook
Включает протоколирование событий.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
stage
Параметр stage является обязательным.
Тип параметра: последовательность текстовых значений.
Возможные значения:
«client_request»;
«client_response»;
«upstream_request»;
«upstream_response».
log_body
Определяет, будет ли логироваться тело сообщения.
Параметр log_body является обязательным.
Тип параметра: булево значение.
log_headers
Определяет, будут ли логироваться заголовки сообщений.
Параметр log_headers является обязательным.
Тип параметра: булево значение.
access_log
Определяет параметры журналов доступа(обращений).
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
max_file_size
Тип параметра: текстовое значение.
max_history
Тип параметра: целочисленное значение.
total_size_cap
Тип параметра: текстовое значение.
error_log
Определяет параметры журналов ошибок.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
max_file_size
Тип параметра: текстовое значение.
max_history
Тип параметра: целочисленное значение.
total_size_cap
Тип параметра: текстовое значение.
connection_pool
Позволяет использовать для соединения с Artemis MQ пулы соединений, настройка включена по умолчанию.
Используется только для sowa_artemis.
Тип параметра: последовательность параметров и их значения.
enabled
Тип параметра: булево значение.
По умолчанию:
enabled: truemax_connections
Тип параметра: целочисленное значение.
По умолчанию:
max_connections: 1max_sessions_per_connection
Тип параметра: целочисленное значение.
По умолчанию:
max_sessions_per_connection: 500connection_idle_timeout
Тип параметра: целочисленное значение.
По умолчанию:
connection_idle_timeout: 30000
thread_pool
Устанавливает количество потоков обработки на стороне клиента.
Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
scheduled_thread_pool_max_size
Тип параметра: целочисленное значение.