Перейти к содержанию

Установка

Что потребуется

Компонент Требования
«1С:Предприятие» версия 8.3.10 или новее, управляемое приложение
Kafka HTTP Gateway развёрнутый шлюз той же версии, по умолчанию порт 8086
Apache Kafka кластер, доступный по сети со стороны шлюза

Подсистема работает в режиме совместимости с 8.3.10 и не использует модальные и синхронные вызовы, поэтому встраивается в конфигурации любых более поздних версий платформы. Внешних зависимостей, включая БСП, нет.

Где ставить шлюз

Прямой сетевой доступ к брокерам Kafka нужен только шлюзу. Сервер 1С обращается к нему по HTTP, поэтому шлюз обычно разворачивают на том же сервере, где работает сервер приложений 1С, — тогда HTTP-обмен не выходит за пределы машины.

Встраивание в конфигурацию

Файл поставки .cf выкладывается на странице релизов — на GitHub или на GitFlic. Подсистема объединяется с основной конфигурацией информационной базы: Конфигурация → Сравнить, объединить с конфигурацией из файла. Объединять её рекомендуется с постановкой на поддержку — как конфигурацию поставщика.

Все объекты подсистемы названы с префиксом «Кафка» и собраны в одноимённую подсистему, поэтому пересечений с объектами основной конфигурации не возникает:

Вид объекта Что появляется в конфигурации
Справочники «Кафка: Кластеры», «Кафка: Шины обмена»
Регистр сведений «Кафка: Позиции чтения»
Обработка «Кафка: Администрирование» — рабочее место администратора
Регламентные задания «Кафка: Выгрузка», «Кафка: Загрузка»
Константа «Кафка: Кластер по умолчанию»
Роль «Кафка: Администрирование»
Подсистема «Кафка» — в неё собрано всё перечисленное

Кроме этого добавляются служебные объекты, с которыми не работают вручную: общие модули, перечисления и обработка для обращений к шлюзу.

Из этого набора вручную не заполняются и не запускаются только регламентные задания: их экземпляры подсистема создаёт и удаляет сама при записи шины.

Поддержка поставщика

Подсистема — конфигурация поставщика с уже настроенными правилами поддержки. Держать её на поддержке — рекомендуемый режим работы: обновления накатываются штатным механизмом, а не ручным сравнением объектов.

Все объекты подсистемы закрыты от изменения. Открыты ровно два — этого достаточно, чтобы построить любой обмен:

Объект Зачем открыт
Подсистема «Кафка» чтобы добавлять в неё вложенные подсистемы, когда логика обмена реализуется в основной конфигурации, а не в расширении
Общий модуль КафкаПереопределяемый единственная официальная точка изменения общего поведения подсистемы — см. Точки расширения

Не снимайте остальные объекты с поддержки

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

Права доступа

Роль «Кафка: Администрирование» даёт доступ к настройке кластеров и шин, к рабочему месту администратора и к позициям чтения. Её назначают тем, кто настраивает и сопровождает обмен.

Сам обмен выполняется в привилегированном режиме, поэтому пользователю, от имени которого работает регламентное задание, эта роль не требуется.

Что должна дать конфигурация-хост

Подсистема — это ядро без прикладной логики. Чтобы обмен заработал, в конфигурации (или в расширении) нужны:

План обмена — для отправки данных. Собственных планов обмена подсистема не содержит: реквизит «Узел» справочника шин ссылается на узел плана обмена основной конфигурации. Состав плана обмена определяет, какие таблицы могут отправляться, а его механизм регистрации изменений — какие именно данные уйдут в очередной сеанс обмена.

Обработка обмена — обработка конфигурации или расширения, реализующая контракт обработчика обмена: для отправки она формирует ключ и значение сообщения, для приёма — записывает полученное в базу.

Первые шаги после установки

  1. Развернуть шлюз и убедиться, что он отвечает.
  2. Создать элемент справочника «Кластеры» и указать в нём адрес шлюза и параметры Kafka.
  3. Открыть рабочее место администратора и убедиться, что версия шлюза отображается, а состав кластера читается, — это подтверждает, что связка «1С → шлюз → Kafka» собрана верно.
  4. Создать элемент справочника «Кафка: Шины обмена» — настроить конкретный обмен.
  5. Отладить обмен при выключенном расписании, запуская его из формы шины вручную, и только затем включить работу по расписанию.