IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Настройка config.Producer.Partitioner в Sarama определяет стратегию выбора партиции для записи сообщения в топик Kafka. Это важный параметр, так как от него зависит распределение сообщений по партициям, что, в свою очередь, влияет на производительность и обработку сообщений....

продолжить чтение


Параметр config.Producer.RequiredAcks в Sarama управляет количеством подтверждений от Kafka-брокеров, которые требуется продюсеру для успешного завершения отправки сообщения. Этот параметр определяет баланс между надежностью доставки сообщений и производительностью....

продолжить чтение


sarama.BalanceStrategyRange — это один из алгоритмов распределения партиций Kafka между консюмерами в библиотеке Sarama для Go. Этот алгоритм используется в рамках процесса балансировки нагрузки, происходящего в группе консумеров....

продолжить чтение


Пакет clickhouse-go поддерживает буферизацию и пакетную запись данных, что позволяет эффективно загружать большие объемы данных в ClickHouse. Это особенно важно для случаев, когда нужно вставлять большое количество данных за один запрос, чтобы уменьшить время на запись и снизить нагрузку на сеть....

продолжить чтение


В Sarama размер буфера, период отправки и другие параметры продюсера можно настроить через объект конфигурации sarama.Config. Вот ключевые параметры, отвечающие за буферизацию, размер сообщений и тайминги:...

продолжить чтение


В Go для передачи контекста трассировки между архитектурными слоями обычно используется стандартный механизм контекста (context.Context) совместно с инструментами OpenTelemetry (Otel). Вот пошаговое руководство, как это сделать:...

продолжить чтение


TraceQL — это язык запросов, используемый в Grafana Tempo для фильтрации и анализа трассировок. Он позволяет выбирать трейсы и их части (спаны) на основе заданных условий. Ниже приводится описание синтаксиса TraceQL, ключевых элементов языка и примеры использования....

продолжить чтение


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

продолжить чтение


Для работы с ClickHouse в Go можно использовать официальную библиотеку ClickHouse Go. Этот драйвер позволяет напрямую взаимодействовать с ClickHouse через протокол TCP. Вот базовый пример, который демонстрирует, как можно подключиться к ClickHouse, выполнять запросы и обрабатывать результаты....

продолжить чтение


В OpenTelemetry Go, когда вы создаете новый спан, его родительский идентификатор указывается автоматически через контекст (context.Context). Таким образом, если вы хотите задать родительский идентификатор для нового спана, вам нужно передать контекст, содержащий уже существующий спан, в качестве родителя....

продолжить чтение


В OpenTelemetry Go не нужно создавать новый экземпляр трассировщика для каждого трейса. Обычно, один и тот же трассировщик (tracer) используется для создания нескольких спанов (spans) в рамках одной трассировки (trace)....

продолжить чтение