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

Файл integrationBus.yml

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

C:\ProgramData\1C\1CE\instances\1c-enterprise-esb-with-ide\config\integrationBus.yml

Пример настроек интеграционной шины:

integrationBus:
# порт, на котором будет слушать брокер
port: 6698

# разрешен ли доступ к брокеру по TCP
enabledTCP: true

# хост для подключения к встроенному брокеру
host: 0.0.0.0

# доменное имя, по которому устанавливается соединение
domain: my-server.ru

# максимальный размер пула потоков потребителей и производителей с внешним вводом/выводом
max-io-client-thread-pool-size: 24

# максимальный размер пула потоков внутренних потребителей и производителей
max-vm-client-thread-pool-size: 4

# необязательный блок параметров защищенного соединения
secure-endpoint:

# используется ли защищенное соединение
enabled: true

# порт, на котором организуется защищенное соединение
port: 6699

# имя хранилища серверного сертификата (из security.yml)
server-certificate-store: "my-server-certificate-store"

# пароль для доступа к сертификату сервера (секретному ключу)
server-certificate-password: "my-cert-password"

# организуется ли защищенное соединение внешними средствами, например, прокси-сервером
external: false

Параметр port позволяет указать порт для подключения внешнего клиента к брокеру сообщений. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию: 6698.

Параметр enabledTCP позволяет активировать подключение к брокеру по TCP. Если параметр имеет значение false, подключение недоступно.

Параметр host позволяет явно указать IP-адрес сервера. Если указано значение 0.0.0.0, сервер будет доступен по любому своему IP-адресу.

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

Параметр max-io-client-thread-pool-size определяет максимальный размер пула потоков потребителей и производителей сообщений с внешним вводом/выводом. Задается целым положительным числом. По умолчанию равен 24. Максимально допустимое значение в процессе работы сервера определяется как набольшее из значений: 24 или CPU cores * 2. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию.

Параметр max-vm-client-thread-pool-size определяет максимальный размер пула потоков внутренних потребителей и производителей сообщений. Задается целым положительным числом. По умолчанию равен 4. Максимально допустимое значение в процессе работы сервера определяется как набольшее из значений: 4 или CPU cores. Если параметр не задан или использует некорректное значение, будет использоваться значение по умолчанию.

Значения параметров max-io-client-thread-pool-size и max-vm-client-thread-pool-size влияют на размер пула потоков на уровне процесса интеграции для следующих узлов:

Максимальное значение из вышеуказанных параметров используется для размера пула потоков узлов-маршрутизаторов:

В большинстве случаев значения по умолчанию параметров max-io-client-thread-pool-size и max-vm-client-thread-pool-size являются оптимальными с точки зрения производительности и потребления ресурсов сервера. Изменение этих значений имеет смысл только при значительном увеличении количества участников процесса интеграции (сотни или тысячи участников). Увеличение значений параметров может привести к росту нагрузки на CPU, поэтому предварительно рекомендуется оценить текущую нагрузку (средние и пиковые значения потребления CPU и оперативной памяти) и доступные ресурсы сервера (CPU, RAM). Если скорость обработки сообщений от всех участников недостаточна, а использование CPU остается на допустимом уровне (например, ниже 50 %), можно рассмотреть увеличение размера пула потоков.

важно

Неконтролируемое увеличение размера пулов потоков может привести к падению производительности «1С:Шины».

Ниже представлены результаты тестирования простого процесса интеграции «ОчередьШиныИсточникТрансляторОчередьШиныНазначение» на сервере с процессором AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz и 64 ГБ оперативной памяти. В этом тесте каждый участник параллельно отправляет по 5 сообщений размером 15 КБ. Проверяется получение всех сообщений в «1С:Шине» и их доставка до канала-назначения, без чтения получателем. В таблице представлены время обработки сообщений и потребление CPU для различных комбинаций количества участников и параметра max-vm-client-thread-pool-size:

Количество участниковРазмер пулаВремя обработки сообщенийПиковое значение CPU %Среднее значение CPU %
100400:02.8251811
100800:02.3711811
1001200:01.3641911
500400:13.172711
500800:09.6522911
5001200:07.3443312
1000400:24.6412811
1000800:19.473512
10001200:16.323712

Параметр secure-endpoint — это необязательный блок настроек для организации защищенного соединения. Если этот блок не указан в конфигурационном файле, конечная точка для защищенного соединения не создается. Содержит внутренние параметры:

  • enabled — обязательный параметр, который позволяет активировать использование защищенного соединения. Если параметр имеет значение false, защищенное соединение не будет использоваться.

  • port — необязательный параметр, который определяет порт защищенного соединения. Если указанный порт занят, запуск «1С:Шины» не будет выполнен, что аналогично поведению порта незащищенного соединения. Значение по умолчанию: 6699.

  • server-certificate-store — необязательный параметр, который задает имя хранилища серверного сертификата, определенного в файле security.yml. Для корректной работы такое хранилище должно содержать только один сертификат сервера. Если в хранилище найдено более одного сертификата с секретным ключом, используется первый. Если параметр external имеет значение false, данный параметр обязателен к заполнению.

  • server-certificate-password — необязательный параметр, который содержит пароль для доступа к серверному сертификату (секретному ключу). Если пароль не задан, используется пароль от хранилища сертификатов.

  • external — необязательный параметр, который указывает, будет ли защищенное соединение организовано внешними средствами (например, прокси-сервером). Если значение true, прокси-сервер обеспечивает защищенное соединение с клиентом «1С:Шины» во внешней сети и незащищенное во внутренней. При любом значении параметра для «1С:Шины» логика обмена сообщениями одинакова. Значение по умолчанию: false.

    важно

    Если для организации защищенного соединения используется внешний прокси-сервер, обязательно установите параметр external: true в конфигурации «1С:Шины». В противном случае клиентские приложения не получат информацию о доступности защищенного соединения и не смогут к нему подключиться.