Установка¶
Что потребуется¶
| Компонент | Требования |
|---|---|
| «1С:Предприятие» | версия 8.3.10 или новее, управляемое приложение |
| Kafka HTTP Gateway | развёрнутый шлюз той же версии, по умолчанию порт 8086 |
| Apache Kafka | кластер, доступный по сети со стороны шлюза |
Подсистема работает в режиме совместимости с 8.3.10 и не использует модальные и синхронные вызовы, поэтому встраивается в конфигурации любых более поздних версий платформы. Внешних зависимостей, включая БСП, нет.
Где ставить шлюз
Прямой сетевой доступ к брокерам Kafka нужен только шлюзу. Сервер 1С обращается к нему по HTTP, поэтому шлюз обычно разворачивают на том же сервере, где работает сервер приложений 1С, — тогда HTTP-обмен не выходит за пределы машины.
Встраивание в конфигурацию¶
Файл поставки .cf выкладывается на странице релизов — на GitHub или на GitFlic. Подсистема объединяется с основной конфигурацией информационной базы: Конфигурация → Сравнить, объединить с конфигурацией из файла. Объединять её рекомендуется с постановкой на поддержку — как конфигурацию поставщика.
Все объекты подсистемы названы с префиксом «Кафка» и собраны в одноимённую подсистему, поэтому пересечений с объектами основной конфигурации не возникает:
| Вид объекта | Что появляется в конфигурации |
|---|---|
| Справочники | «Кафка: Кластеры», «Кафка: Шины обмена» |
| Регистр сведений | «Кафка: Позиции чтения» |
| Обработка | «Кафка: Администрирование» — рабочее место администратора |
| Регламентные задания | «Кафка: Выгрузка», «Кафка: Загрузка» |
| Константа | «Кафка: Кластер по умолчанию» |
| Роль | «Кафка: Администрирование» |
| Подсистема | «Кафка» — в неё собрано всё перечисленное |
Кроме этого добавляются служебные объекты, с которыми не работают вручную: общие модули, перечисления и обработка для обращений к шлюзу.
Из этого набора вручную не заполняются и не запускаются только регламентные задания: их экземпляры подсистема создаёт и удаляет сама при записи шины.
Поддержка поставщика¶
Подсистема — конфигурация поставщика с уже настроенными правилами поддержки. Держать её на поддержке — рекомендуемый режим работы: обновления накатываются штатным механизмом, а не ручным сравнением объектов.
Все объекты подсистемы закрыты от изменения. Открыты ровно два — этого достаточно, чтобы построить любой обмен:
| Объект | Зачем открыт |
|---|---|
| Подсистема «Кафка» | чтобы добавлять в неё вложенные подсистемы, когда логика обмена реализуется в основной конфигурации, а не в расширении |
Общий модуль КафкаПереопределяемый |
единственная официальная точка изменения общего поведения подсистемы — см. Точки расширения |
Не снимайте остальные объекты с поддержки
Прикладная логика обмена живёт в обработчике обмена — обработке основной конфигурации или расширения, а общее поведение настраивается через открытый общий модуль КафкаПереопределяемый. Если снять с поддержки что-то ещё и поправить ядро, каждое обновление подсистемы превратится в ручное слияние.
Права доступа¶
Роль «Кафка: Администрирование» даёт доступ к настройке кластеров и шин, к рабочему месту администратора и к позициям чтения. Её назначают тем, кто настраивает и сопровождает обмен.
Сам обмен выполняется в привилегированном режиме, поэтому пользователю, от имени которого работает регламентное задание, эта роль не требуется.
Что должна дать конфигурация-хост¶
Подсистема — это ядро без прикладной логики. Чтобы обмен заработал, в конфигурации (или в расширении) нужны:
План обмена — для отправки данных. Собственных планов обмена подсистема не содержит: реквизит «Узел» справочника шин ссылается на узел плана обмена основной конфигурации. Состав плана обмена определяет, какие таблицы могут отправляться, а его механизм регистрации изменений — какие именно данные уйдут в очередной сеанс обмена.
Обработка обмена — обработка конфигурации или расширения, реализующая контракт обработчика обмена: для отправки она формирует ключ и значение сообщения, для приёма — записывает полученное в базу.
Первые шаги после установки¶
- Развернуть шлюз и убедиться, что он отвечает.
- Создать элемент справочника «Кластеры» и указать в нём адрес шлюза и параметры Kafka.
- Открыть рабочее место администратора и убедиться, что версия шлюза отображается, а состав кластера читается, — это подтверждает, что связка «1С → шлюз → Kafka» собрана верно.
- Создать элемент справочника «Кафка: Шины обмена» — настроить конкретный обмен.
- Отладить обмен при выключенном расписании, запуская его из формы шины вручную, и только затем включить работу по расписанию.