Ошибка, которую вы видите — Patroni requires psycopg2>=2.5.4, psycopg2-binary, or psycopg>=3.0.0 — означает, что для работы Patroni необходим один из пакетов Python, предоставляющих возможность подключения к PostgreSQL: psycopg2 (начиная с версии 2.5.4), psycopg2-binary или psycopg (версия 3.0.0 или выше). В данном случае один из этих пакетов либо не установлен, либо установлен с более......
продолжить чтение
Если база данных ClickHouse ещё не существует и вы хотите создать её в миграции, есть несколько способов корректно настроить процесс с использованием библиотеки migrate. Проблема в том, что migrate.New ожидает, что база данных, указанная в строке подключения, уже существует....
продолжить чтение
В etcd отслеживание изменений происходит через механизм, который позволяет клиентам следить за состоянием данных в реальном времени. Основной способ — это использование Watch API, который позволяет наблюдать за изменениями ключей в ключевом пространстве....
продолжить чтение
В контексте Jinja2-шаблонов в Ansible переменная ansible_play_hosts полезна, когда вы хотите динамически работать с группой хостов, которые участвуют в плейбуке....
продолжить чтение
Параметр ssl verify required используется в HAProxy для обеспечения строгой проверки SSL/TLS-сертификатов на стороне клиента или бэкенда. Этот параметр позволяет настроить проверку подлинности сертификатов, гарантируя, что клиент или сервер предоставляет валидный сертификат, подписанный доверенным центром сертификации (CA). Если сертификат не может быть проверен, соединение будет отклонено....
продолжить чтение
В Ansible можно получить список хостов из определённой группы с помощью переменной groups. Это специальная переменная, которая содержит все группы и их соответствующие хосты. Для доступа к хостам в группе вы можете обратиться к переменной как к словарю....
продолжить чтение
Вот пример простого Ansible playbook для установки и настройки HAProxy на серверах, работающих под управлением Ubuntu:...
продолжить чтение
Идея состоит в том чтобы настроить работу с кластером etcd через прокси HAProxy с использованием защищенного TLS соединения.
Первым шагом развертываем кластер etcd по описанию в статье. Пример Ansible плейбука:...
продолжить чтение
Для включения поддержки 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, настроим автоматический запуск в виде службы, настроим доступ с помощью логина и пароля.
...
продолжить чтение
Легкий веб-клиент etcd.
Поддержка etcd 2.x и etcd 3.x.
Сервер использует клиентский интерфейс etcd go и компилируется с клиентским пакетом etcd.
Основан на платформе easyui (лицензия easyui на веб-сайте easyui)....
продолжить чтение
Развернем кластер etcd из трех нод.
Общение между нодами будет по TLS протоколу.
...
продолжить чтение
WAL (Write-Ahead Logging) — это важная технология в PostgreSQL, обеспечивающая целостность данных и защиту от сбоев. Она играет ключевую роль в репликации, восстановлении после сбоев и обеспечении транзакционной целостности базы данных. Основные принципы WAL в PostgreSQL: Запись данных в журнал перед изменением базы данных: При изменении данных в базе данных PostgreSQL сначала записывает......
продолжить чтение
Принцип инверсии зависимостей (Dependency Inversion Principle, DIP) говорит, что:
Высокоуровневые модули (логика) не должны зависеть от низкоуровневых (деталей реализации). Оба должны зависеть от абстракций.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций....
продолжить чтение
В соответствии с CAP теоремой, в современных распределенных системах невозможно одновременно достичь всех трёх характеристик — Consistency (Консистентность), Availability (Доступность) и Partition Tolerance (Устойчивость к разделению)....
продолжить чтение
Starvation (голодание) горутин в Go возникает, когда одна или несколько горутин не могут получить доступ к ресурсам или выполнить свою работу из-за того, что другие горутины постоянно monopolize (монополизируют) эти ресурсы. Это может привести к тому, что "голодающие" горутины будут indefinitely (бесконечно) ожидать своей очереди на выполнение....
продолжить чтение
CSS3 — это третья версия языка CSS (Cascading Style Sheets), которая представляет собой набор новых функций и возможностей, расширяющих стандарты предыдущих версий (CSS1 и CSS2). CSS3 был разработан для того, чтобы сделать веб-разработку более гибкой, мощной и удобной. Он позволяет создавать современные, визуально привлекательные и адаптивные веб-страницы с поддержкой анимаций, сложных布局ов и других......
продолжить чтение
Для импорта "google/rpc/status.proto" в ваш proto файл необходимо выполнить следующие шаги:
1. Установить необходимые зависимости:...
продолжить чтение