Файл integrationBus.yml
Этот файл содержит настройки интеграционной шины, применяемые при запуске сервера. Он находится:
- Windows
- Linux
C:\ProgramData\1C\1CE\instances\1c-enterprise-esb-with-ide\config\integrationBus.yml
/var/opt/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:- ОчередьШиныИсточник,
- Канал1СИсточник,
- Маршрут-каналы и другие приватные каналы.
Максимальное значение из вышеуказанных параметров используется для размера пула потоков узлов-маршрутизаторов:
- МаршрутизаторПоСодержимому,
- Маршрутизатор к участникам группы.
В большинстве случаев значения по умолчанию параметров 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 % |
|---|---|---|---|---|
| 100 | 4 | 00:02.825 | 18 | 11 |
| 100 | 8 | 00:02.371 | 18 | 11 |
| 100 | 12 | 00:01.364 | 19 | 11 |
| 500 | 4 | 00:13.17 | 27 | 11 |
| 500 | 8 | 00:09.652 | 29 | 11 |
| 500 | 12 | 00:07.344 | 33 | 12 |
| 1000 | 4 | 00:24.641 | 28 | 11 |
| 1000 | 8 | 00:19.47 | 35 | 12 |
| 1000 | 12 | 00:16.32 | 37 | 12 |
Параметр 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С:Шины». В противном случае клиентские приложения не получат информацию о доступности защищенного соединения и не смогут к нему подключиться.