- Сервис распределённой трассировки Cloud Tracing от VK Cloud, позволяющий приложениям отправлять спаны по протоколу OpenTelemetry и просматривать их через Jaeger UI и...
- Изначально на странице развёртывания Jaeger было представлено шесть потенциальных вариантов бэкендов: Cassandra, Elasticsearch, Kafka, gRPC-плагин, Badger и memory.
- Таким образом, реальный выбор свёлся к Cassandra и Elasticsearch, с появлением ClickHouse как третьего кандидата через gRPC-плагин.
VK Cloud раскрывает выбор хранилища для Cloud Tracing
Сервис распределённой трассировки Cloud Tracing от VK Cloud, позволяющий приложениям отправлять спаны по протоколу OpenTelemetry и просматривать их через Jaeger UI и Grafana, столкнулся со сложным выбором хранилища. Для публичного облака, обрабатывающего потоки данных от сотен независимых клиентов и хранящего десятки терабайт телеметрии, требовалось решение, обеспечивающее надёжную изоляцию данных проектов и способное эффективно обрабатывать до 1 МБ/с трафика на проект, контролируемого токенами IAM.
Сложности выбора бэкенда Jaeger
Изначально на странице развёртывания Jaeger было представлено шесть потенциальных вариантов бэкендов: Cassandra, Elasticsearch, Kafka, gRPC-плагин, Badger и memory. Однако, как отмечает Леонид Левин, архитектор PaaS в VK Cloud, и его команда, включающая технологического евангелиста Стаса Погоржельского, этот список быстро сузился.
- Локальные хранилища (Badger, memory) были исключены для производственной среды.
- Kafka признана буфером, а не полноценным хранилищем.
- gRPC-плагин служит для интеграции систем, не входящих в первоначальный перечень.
Таким образом, реальный выбор свёлся к Cassandra и Elasticsearch, с появлением ClickHouse как третьего кандидата через gRPC-плагин. Эксперты VK Cloud провели детальный анализ, оценивая производительность и пригодность каждого решения для хранения трейсов. В ходе тестирования были достигнуты показатели до 362 тысяч спанов в секунду на четырёх ядрах коллектора.
ClickHouse как оптимальное решение для трассировки
Особое внимание уделялось тому, как различные системы справляются с точечным чтением и поиском по атрибутам. Схема хранения на ClickHouse, как показал анализ VK Cloud, эффективно закрыла эти критически важные требования, предложив надёжное и масштабируемое решение для сервиса Cloud Tracing.
Выбор ClickHouse для Cloud Tracing выглядит логичным, учитывая его производительность для аналитических нагрузок. Однако, насколько легко будет поддерживать такую систему в долгосрочной перспективе с учетом роста объемов данных и необходимости в сложной изоляции между сотнями клиентов? Не возникнут ли скрытые затраты на администрирование и оптимизацию, которые могут нивелировать первоначальные выгоды?