Разделы

Цифровизация

До 3 000 сборок в день: как Kafka превращается из базовой версии в промышленную платформу

Илья Виссарионов

директор департамента «Аппаратно-системная платформа» компании «Диасофт»

Брокер сообщений — это система, обеспечивающая надёжный и асинхронный обмен данными между микросервисами, приложениями и информационными системами. Он позволяет передавать информацию между компонентами без прямой синхронной связи: отправитель и получатель не зависят друг от друга, а данные не теряются даже при сбоях. Один из самых популярных брокеров в мире — Apache Kafka. Казалось бы, его можно бесплатно скачать и установить. Но стоимость лицензии — не главная статья расходов. После внедрения компании приходится настраивать кластеры, следить за очередями, тестировать обновления, закрывать уязвимости и восстанавливать систему после сбоев. Почему крупному бизнесу недостаточно просто установить брокер сообщений и что ещё важно кроме высокой скорости передачи данных — подробнее рассказывает Илья Виссарионов, директор департамента «Аппаратно-системная платформа» компании «Диасофт».

Чем крупнее инфраструктура, тем больше требований предъявляется к Kafka. Она становится платформой, от которой зависят корректное взаимодействие микросервисов, интеграции и бизнес-процессы.

«Диасофт» использует брокер сообщений Digital Q.MessageBroker на базе Kafka в собственной инфраструктуре разработки и эксплуатации (DevOps-инфраструктуре). Тысячи ежедневных процессов, большое количество каналов обмена (топиков) и постоянный обмен данными между системами позволяют проверять решение в условиях промышленной эксплуатации.

Установить Kafka проще, чем эксплуатировать

В базовом сценарии компания может развернуть Kafka, создать несколько каналов обмена (топиков) и организовать обмен данными. По мере роста инфраструктуры появляются дополнительные задачи: нужно контролировать состояние установок брокера, обновлять его, замечать увеличение очередей сообщений, устранять уязвимости и определять порядок действий при сбоях.

Брокер сообщений — это система, обеспечивающая надёжный и асинхронный обмен данными между микросервисами, приложениями и информационными системами

Базовая версия Kafka предоставляет технологическое ядро. Инструменты установки, мониторинга и сопровождения компания подбирает самостоятельно или с помощью интегратора.

Промышленный дистрибутив (сборка с дополнительными инструментами) дополняет ядро установщиками, преднастройками и средствами мониторинга. Вендор тестирует обновления, исправляет обнаруженные уязвимости и адаптирует продукт под российские операционные системы, включая Astra Linux и РЕД ОС.

В результате заказчик получает не набор разрозненных компонентов, а подготовленное к внедрению решение с поддержкой.

Компания как первый и самый требовательный заказчик

Один из способов проверить зрелость инфраструктурного продукта — использовать его в собственных критичных процессах.

В «Диасофте» Kafka встроена в масштабный процесс разработки и эксплуатации (DevOps-процесс). После того как разработчик вносит изменения в код в систему контроля версий (коммит), автоматически запускается сборка продукта. Затем она проходит через заданную цепочку тестовых стендов. При положительном результате проверок продукт разворачивается в рабочей среде. На разных этапах этого процесса Kafka используется как для взаимодействия внутри микросервисных систем, так и для обмена данными между отдельными стендами и средами.

Ежедневно через эту инфраструктуру проходит от двух до трех тысяч сборок. Каждая из них включает несколько шагов и конвейеров сборки (пайплайнов), между которыми происходит асинхронный обмен сообщениями. Отдельные среды также связаны между собой через установки Kafka и механизмы синхронизации копий данных (репликации).

Фактически компания сама выступает заказчиком собственного брокера сообщений Digital Q.MessageBroker. Продукт ежедневно работает в той же инфраструктуре, в которой разрабатываются, собираются и тестируются другие программные решения. Это позволяет обнаруживать эксплуатационные проблемы не только во время специальных нагрузочных испытаний, но и в ходе постоянной работы.

Во внутренней инфраструктуре «Диасофт» используются десятки тысяч каналов обмена (топиков) и сотни тысяч разделов каналов (партиций) в них, поскольку отдельный канал обмена может создаваться для конкретного действия или взаимодействия между продуктами.

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

Что происходит при росте нагрузки

Производительность — не единственное требование к брокеру сообщений. Для бизнеса также важны гарантированная доставка, правильный порядок сообщений, устойчивость к отказам и возможность быстро обнаружить проблему.

Рассмотрим типовой сценарий. Микросервис временно перестает отвечать и не читает сообщения. Новые данные продолжают поступать, очередь растет.

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

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

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

Чем дистрибутив отличается от базовой версии Kafka

Главное отличие промышленного дистрибутива (сборки с дополнительными инструментами) — не в самом ядре, а в модели эксплуатации. В случае с использованием открытой версии (open source) организация самостоятельно строит систему установки, мониторинга, обновлений и поддержки вокруг Kafka. В случае с использованием промышленного дистрибутива заказчик получает эти инструменты в составе единой платформы.

Заказчику не нужно самостоятельно искать установщики, подбирать инструменты мониторинга и разрабатывать базовые процедуры сопровождения. Команды используют единый подход к установке и настройке брокера.

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

При работе с открытой версией (open source) компания самостоятельно оценивает обновления от сообщества, проверяет совместимость всех компонентов и ищет исправления. Вендорский дистрибутив переносит часть этой работы на разработчика продукта.

Различается и модель ответственности. Сообщество может подсказать решение, но не гарантирует сроки реакции. Вендор берет на себя сопровождение и исправление выявленных проблем.

Почему бизнес не спешит уходить с открытых версий (open source)

Даже при наличии отечественного дистрибутива крупный бизнес не всегда готов немедленно отказаться от уже развернутой Kafka или другого брокера сообщений.

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

Поэтому переход на российское инфраструктурное ПО часто связан не с сокращением расходов, а со снижением рисков.

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

В этом контексте импортозамещение брокера сообщений становится инструментом управления рисками. Оно не всегда дает мгновенную финансовую отдачу, но снижает зависимость от неподдерживаемого зарубежного программного обеспечения и внешних поставщиков.

Безопасность передачи сообщений

Брокер сообщений передает данные между критичными бизнес-системами, поэтому вопросы защиты должны решаться не только на уровне приложений, но и на уровне инфраструктуры.

В дистрибутиве предусмотрены инструменты и преднастройки для шифрования сообщений. Их задача — защитить данные при передаче между системой-отправителем и системой-получателем, чтобы перехваченный трафик нельзя было прочитать и использовать.

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

От компонента к инфраструктурной платформе

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

С ростом масштаба Kafka становится критичной инфраструктурной платформой. От нее зависят микросервисы, интеграции и процессы разработки и эксплуатации (DevOps-процессы).

Зрелость брокера подтверждают не только разовые испытания, но и постоянная эксплуатация. Тысячи ежедневных сборок, множество связанных стендов и большое количество каналов обмена позволяют регулярно проверять систему под нагрузкой.

Выбор между базовой версией Kafka и готовым дистрибутивом — это выбор модели ответственности. Компания может самостоятельно построить вокруг открытой версии (open source) систему установки, мониторинга, обновлений и поддержки. Другой вариант — получить эти инструменты в составе единого продукта, например, Digital Q.MessageBroker.

Для крупного бизнеса важен не сам факт, что Kafka можно скачать бесплатно. Важнее, кто обеспечит ее работу, когда от доставки одного сообщения зависит непрерывность критичного бизнес-процесса.

Рекламаerid:2W5zFHtKnp9Рекламодатель: ООО «Диасофт Экосистема»ИНН/ОГРН: 9715403607/1217700330540Сайт: https://www.diasoft.ru/