Что такое etcd?
etcd — это распределенное хранилище ключ-значение, созданное для обеспечения надёжного хранения данных в отказоустойчивых кластерах. Оно используется для хранения конфигураций и координации служб в системах, таких как Kubernetes. Основной алгоритм согласованности — Raft, который обеспечивает согласованность данных между всеми узлами кластера.
Преимущества:
- Высокая доступность: за счёт кворума, etcd продолжает работать, даже если часть узлов выйдет из строя.
- Надежность и согласованность: благодаря Raft, все узлы в кластере получают одинаковые данные.
- Отказоустойчивость: можно потерять до половины узлов и продолжать работу.
Кворумы:
Кворум — это минимальное количество узлов, необходимых для принятия решения. В кластере etcd кворум составляет больше половины от общего количества узлов, чтобы поддерживать консенсус.
Алгоритм Raft:
Raft используется для достижения распределённого консенсуса. Он состоит из:
- Выборов лидера
- Репликации логов
- Согласованности данных через подтверждения большинства узлов.
Используется для:
- Kubernetes (хранение состояния кластера)
- Сервисов конфигурации в микросервисной архитектуре
- Поддержки отказоустойчивых систем, требующих точной согласованности данных.
Recommended Posts
Структура и компоненты отказоустойчивого кластера Postgresql + Patroni + Pgbouncer + Haproxy + etcd
10.02.2024
Отказоустойчивый кластер Postgresql
02.02.2024