Этот плейбук Ansible предназначен для автоматизации установки и настройки HAProxy на узлах, указанных в группе haproxy_nodes. Плейбук выполняет три основные задачи: установка HAProxy, настройка конфигурационного файла и перезапуск службы HAProxy....
продолжить чтение
Этот шаблон Jinja2 для конфигурации HAProxy настраивает балансировщик нагрузки для управления соединениями с двумя типами PostgreSQL-кластеров через PgBouncer: для мастера (master) и для реплик (read-only). В шаблоне используются переменные Ansible для динамического создания конфигурации на основе данных о хостах. Рассмотрим ключевые элементы и их предназначение....
продолжить чтение
Отказоустойчивая кластерная архитектура для PostgreSQL на основе Patroni, PgBouncer, HAProxy и etcd состоит из нескольких компонентов, каждый из которых играет определенную роль для обеспечения высокодоступности, балансировки нагрузки, отказоустойчивости и упрощения управления подключениями. Вот описание основных компонентов и их взаимодействий:...
продолжить чтение
Действительно, в конфигурации HAProxy указаны только IP-адреса и порты Sentinel, а не самого Redis-мастера. Вот как это работает:...
продолжить чтение
Отказоустойчивая кластерная архитектура для PostgreSQL на основе Patroni, PgBouncer, HAProxy и etcd состоит из нескольких компонентов, каждый из которых играет определенную роль для обеспечения высокодоступности, балансировки нагрузки, отказоустойчивости и упрощения управления подключениями. Вот описание основных компонентов и их взаимодействий:...
продолжить чтение
Настройка HAProxy для проксирования запросов через PgBouncer в кластере Patroni включает использование механизма проверки состояния узлов с помощью HTTP-запросов (httpchk). Это нужно для того, чтобы проксировать запросы к правильным узлам, учитывая их роли (мастер или реплика). HAProxy проверяет состояние каждого узла через API Patroni и отправляет запросы либо на PgBouncer, который взаимодействует с......
продолжить чтение
Для настройки проверки состояния (health check) в HAProxy для кластера Patroni, используется параметр httpchk. В Patroni обычно предоставляется HTTP API для мониторинга состояния кластера и отдельных узлов, включая лидера и реплики. HAProxy может использовать этот API для определения статуса каждого сервера и принимать решения о маршрутизации запросов в зависимости от их состояния....
продолжить чтение
Параметр ssl verify required используется в HAProxy для обеспечения строгой проверки SSL/TLS-сертификатов на стороне клиента или бэкенда. Этот параметр позволяет настроить проверку подлинности сертификатов, гарантируя, что клиент или сервер предоставляет валидный сертификат, подписанный доверенным центром сертификации (CA). Если сертификат не может быть проверен, соединение будет отклонено....
продолжить чтение
Вот пример простого Ansible playbook для установки и настройки HAProxy на серверах, работающих под управлением Ubuntu:...
продолжить чтение
Идея состоит в том чтобы настроить работу с кластером etcd через прокси HAProxy с использованием защищенного TLS соединения.
Первым шагом развертываем кластер etcd по описанию в статье. Пример Ansible плейбука:...
продолжить чтение
Для включения поддержки HTTP/2 в HAProxy, нужно выполнить несколько шагов в конфигурации HAProxy и убедиться, что ваш HAProxy собран с поддержкой OpenSSL и поддержкой ALPN (Application-Layer Protocol Negotiation), которая необходима для работы HTTP/2....
продолжить чтение
Параметр ssl verify required используется в HAProxy для обеспечения строгой проверки SSL/TLS-сертификатов на стороне клиента или бэкенда. Этот параметр позволяет настроить проверку подлинности сертификатов, гарантируя, что клиент или сервер предоставляет валидный сертификат, подписанный доверенным центром сертификации (CA). Если сертификат не может быть проверен, соединение будет отклонено....
продолжить чтение
Чтобы добавить ID трассировки для OpenTelemetry в HAProxy и передать его клиенту (или между сервисами), можно использовать настройку добавления и обработки HTTP-заголовков. Это позволяет вставить заголовок traceparent в соответствии со спецификацией W3C Trace Context....
продолжить чтение
Параметр minconn в HAProxy используется для определения минимального числа активных соединений к серверу в бэкенде. Этот параметр работает в сочетании с maxconn и помогает HAProxy управлять количеством соединений, направленных на серверы, особенно полезен в случаях, когда серверы обрабатывают различное количество запросов в зависимости от своей производительности....
продолжить чтение
Параметр httpchk в HAProxy используется для выполнения проверки состояния (health check) бекендов с использованием HTTP. Это позволяет HAProxy регулярно отправлять HTTP-запросы на определённые бекенд-серверы для проверки их доступности. На основе этих проверок HAProxy может принимать решение, какие сервера активны и на них можно перенаправлять запросы, а какие нет....
продолжить чтение
HAProxy Cluster — это высокодоступное решение, основанное на использовании нескольких экземпляров HAProxy для балансировки нагрузки между серверами приложений или базами данных. Оно организовано для обеспечения отказоустойчивости и непрерывного обслуживания, что позволяет системе продолжать работать даже при отказе одной или нескольких нод. Основная задача HAProxy в кластере — равномерно распределять входящие запросы между работающими......
продолжить чтение
Для работы с PostgreSQL как балансировщик нагрузки и пул соединений часто используются два инструмента: HAProxy и PgBouncer. Оба имеют разные цели и преимущества, и выбор между ними зависит от конкретных требований. Давайте рассмотрим их различия и применение:...
продолжить чтение