Файл 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С:Шины». В противном случае клиентские приложения не получат информацию о доступности защищенного соединения и не смогут к нему подключиться.