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

Для включения поддержки HTTP/2 в HAProxy, нужно выполнить несколько шагов в конфигурации HAProxy и убедиться, что ваш HAProxy собран с поддержкой OpenSSL и поддержкой ALPN (Application-Layer Protocol Negotiation), которая необходима для работы HTTP/2....

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


etcd работает по HTTP/2. В версии etcd v3 был введен полный переход на HTTP/2 для всех RPC вызовов. Это особенно важно для улучшения производительности и устойчивости при использовании gRPC, который работает поверх HTTP/2. Поддержка HTTP/2 предоставляет возможности для мультиплексирования запросов, уменьшения задержек и более эффективного управления соединениями....

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


Параметр ssl verify required используется в HAProxy для обеспечения строгой проверки SSL/TLS-сертификатов на стороне клиента или бэкенда. Этот параметр позволяет настроить проверку подлинности сертификатов, гарантируя, что клиент или сервер предоставляет валидный сертификат, подписанный доверенным центром сертификации (CA). Если сертификат не может быть проверен, соединение будет отклонено....

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


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

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


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

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


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

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


otel.SetTracerProvider() устанавливает глобальный провайдер трассировки, который становится доступным во всей программе. Это означает, что после вызова этой функции любой пакет или часть кода, использующая OpenTelemetry SDK, сможет получить доступ к этому провайдеру и создавать трейсы и спаны, не создавая отдельный провайдер в каждом пакете....

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


OpenTelemetry Collector — это универсальный агент и сервер для сбора, обработки и экспорта телеметрических данных, таких как трассировки, метрики и логи. Он предназначен для упрощения работы с телеметрией, обеспечивая гибкость и масштабируемость. Collector играет ключевую роль в архитектуре OpenTelemetry, выступая посредником между приложениями, инструментированными OpenTelemetry SDK, и системами хранения и анализа, такими как Prometheus,......

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


Официальная документация OpenTelemetry для Go SDK предоставляет подробные инструкции по настройке и использованию трассировок, метрик и контекстов. Вы можете найти документацию на GitHub и на официальном сайте OpenTelemetry....

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


OpenTelemetry — это открытый стандарт и инструмент для сбора, обработки и экспорта данных о производительности и диагностике из приложений. Он позволяет разработчикам и инженерам собирать метрики, логи и трассировки из распределённых систем, объединяя эти данные для мониторинга и анализа....

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


Спецификация W3C Trace Context — это стандарт для передачи контекста трассировки через распределённые системы. Она определяет формат заголовков HTTP-запросов, которые позволяют сервисам обмениваться информацией о трассировках, таких как Trace ID и Span ID, в рамках одной или нескольких систем. Цель стандарта — обеспечить совместимость между инструментами трассировки, такими как OpenTelemetry, Jaeger, Zipkin, и......

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


Чтобы добавить ID трассировки для OpenTelemetry в HAProxy и передать его клиенту (или между сервисами), можно использовать настройку добавления и обработки HTTP-заголовков. Это позволяет вставить заголовок traceparent в соответствии со спецификацией W3C Trace Context....

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


docker:dind — это Docker образ и метод, позволяющий запускать Docker внутри Docker-контейнера. Он используется для выполнения Docker-команд в контейнеризованных окружениях, что особенно полезно в CI/CD пайплайнах, например, в GitLab CI....

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


Параметр minconn в HAProxy используется для определения минимального числа активных соединений к серверу в бэкенде. Этот параметр работает в сочетании с maxconn и помогает HAProxy управлять количеством соединений, направленных на серверы, особенно полезен в случаях, когда серверы обрабатывают различное количество запросов в зависимости от своей производительности....

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