Кластер¶
Элемент справочника «Кафка: Кластеры» описывает одну точку подключения: где стоит шлюз и как он должен соединяться с брокерами Kafka. На один кластер обычно приходится несколько шин — по числу обменов.
Подключение к шлюзу¶
| Реквизит | Назначение |
|---|---|
| Шлюз: Адрес | адрес шлюза в виде сервер:порт. Если порт не указан, используется 8086; если реквизит пуст — localhost:8086 |
| Шлюз: Таймаут | таймаут HTTP-обращений к шлюзу, в секундах |
| Шлюз: Пользователь, Шлюз: Пароль | учётные данные HTTP-аутентификации на шлюзе, если он её требует |
Адрес шлюза в кластере серверов 1С
Потоки обмена выполняются фоновыми заданиями, которые кластер серверов 1С может запустить на любом рабочем сервере. Рекомендуемая схема — шлюз на каждом сервере кластера и адрес localhost в этом реквизите: поток приёма обратится к шлюзу своего сервера, а поток отправки — к шлюзу сервера родительского сеанса (подробнее). Если шлюз один, укажите здесь его сетевое имя — localhost в этом случае уведёт потоки не туда.
Подключение к Kafka¶
| Реквизит | Назначение |
|---|---|
| Кафка: Серверы | список брокеров через запятую: server1:9092, server2:9092. Передаётся в bootstrap.servers |
| Кафка: Протокол безопасности | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL или SSL |
| Кафка: Механизм SASL | PLAIN, SCRAM-SHA-256 или SCRAM-SHA-512; нужен только для протоколов с SASL |
| Кафка: Пользователь установлен | если снят, именем пользователя SASL становится идентификатор информационной базы |
| Кафка: Пользователь, Кафка: Пароль | учётные данные SASL |
Строку sasl.jaas.config подсистема собирает сама — по протоколу, механизму и учётным данным; вручную её задавать не нужно. Для протоколов PLAINTEXT и SSL параметры SASL не передаются.
Идентификатор информационной базы — это её имя и, для клиент-серверного варианта, имя кластера серверов (база@сервер). Он же по умолчанию используется как client.id и как имя группы получателей. Правило формирования можно переопределить.
Дополнительные параметры Kafka¶
Две табличные части — «Конфигурация отправителя» и «Конфигурация получателя» — позволяют задать любые параметры клиента Kafka парами «параметр — значение», например compression.type или max.poll.records. Они применяются ко всем шинам кластера соответствующего направления.
Имена параметров и допустимые значения берутся из документации Apache Kafka:
| Что настраивается | Раздел документации Kafka |
|---|---|
| отправитель | Producer Configs |
| получатель | Consumer Configs |
Ссылки ведут на документацию актуальной версии Kafka. Если ваши брокеры другой версии, выберите её на странице документации — набор параметров от версии к версии меняется. Подсистема имена параметров не проверяет: неизвестный параметр приведёт к ошибке при создании клиента в шлюзе.
Итоговая конфигурация клиента собирается послойно, каждый следующий слой перекрывает предыдущий:
базовые параметры кластера
└─ параметры направления (отправитель / получатель)
└─ табличная часть кластера
└─ табличная часть шины
Подсистема заполняет сама:
| Параметр | Значение | Где |
|---|---|---|
client.id |
идентификатор информационной базы | все клиенты |
bootstrap.servers |
реквизит «Кафка: Серверы» | все клиенты |
security.protocol, sasl.mechanism, sasl.jaas.config |
реквизиты кластера | все клиенты |
delivery.timeout.ms |
таймаут шлюза минус одна секунда | отправитель |
group.id |
идентификатор информационной базы | получатель |
auto.offset.reset |
earliest |
получатель |
enable.auto.commit |
false |
получатель |
Почему автофиксация выключена
Позиции чтения подсистема ведёт в информационной базе, а не в Kafka, и фиксирует их только после того, как сообщение принято. Значения enable.auto.commit и auto.offset.reset менять не следует: это сломает гарантию «сообщение не потеряется и не будет прочитано повторно после перезапуска».
Кластер по умолчанию¶
Константа «Кафка: Кластер по умолчанию» подставляется в новые шины и открывается первой в рабочем месте администратора. Заполняется штатными средствами платформы — роль «Кафка: Администрирование» прав на константы не даёт, её задаёт администратор информационной базы.
Проверка настроек¶
Готовность кластера проще всего проверить в рабочем месте администратора: если в шапке отображается версия шлюза, а на закладке «Кластер» читается состав брокеров — подключение к шлюзу и к Kafka работает, и можно переходить к настройке шины.