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

Библиотека migrate (из пакета github.com/golang-migrate/migrate) поддерживает ClickHouse как источник данных для миграций. Чтобы использовать migrate.New или другие методы для миграции в ClickHouse, параметры подключения задаются через строку DSN....

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


Вот пример на Go с использованием библиотеки Sarama, где происходит вычитывание большого количества записей (например, 10,000), их обработка и ручной коммит оффсетов после успешной обработки....

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


Вот пошаговое руководство по генерации сертификатов с использованием собственного корневого сертификата (CA) для настройки mTLS между микросервисами....

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


В OpenTelemetry (otel), вложенность спанов (или отношения между спанами) определяется контекстом, а не порядком открытия или закрытия спанов в коде....

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


Да, рекомендуется вызывать span.SetStatus после span.RecordError, чтобы явно установить статус спана в зависимости от записанной ошибки. Это не обязательное требование, но такой порядок помогает сделать код более читаемым и логичным. Вот почему:...

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


Нет, метод span.SetStatus не записывает саму ошибку, а только устанавливает общий статус спана. Если вам нужно сохранить подробности об ошибке (например, текст сообщения или стек-трейс), то для этого используется метод span.RecordError....

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


span.RecordError(err) — это метод OpenTelemetry, который позволяет зафиксировать информацию об ошибке в текущем Span. Эта информация станет частью трассировки и поможет разработчикам проанализировать, что пошло не так....

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


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

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


В OpenTelemetry можно добавлять данные об ошибках в трейс с помощью событий и атрибутов Span. Это помогает фиксировать ошибки и предоставлять подробную информацию для анализа....

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


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

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


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

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


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

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


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

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


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

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