Что такое Consul

Обновлено Обновлено: Опубликовано Опубликовано:

Consul —
простыми словами

приложение для обнаружения сервисов (service discovery) на основе DNS и проверки их доступности. Оно используется для обеспечения связи между компонентами микросервисной инфраструктуры, позволяя создавать отказоустойчивую и масштабируемую систему с возможностью балансировки нагрузки. Consul разработан компанией HashiCorp, которой также принадлежат другие известные продукты, например, Vagrant, Terraform, Atlas, Vault.

Приложение может быть установлено на серверы под управлением всех популярных систем: Linux, Windows, MacOS, BSD. Поддерживаются следующие способы установки:

  1. Копирование в систему бинарного файла.
  2. Сборка приложения из исходников.
  3. Установка в Kubernetes.
  4. В виде контейнера Docker.

Приложение работает на следующих портах:

Порт Протокол Описание
8600 TCP and UDP Сервер DNS
8500 TCP Consul UI + API
8301 TCP and UDP Порт LAN
8302 TCP and UDP Порт WAN
8300 TCP Сервис RPC
21000 - 21255   Диапазон портов для регистрации сервисов
8501 TCP Защищенный Consul UI + API. По умолчанию, не настроен и задается любой. Данный номер рекомендован в официальной документации.
8502   gRPC API. По умолчанию, не настроен и задается любой. Данный номер рекомендован в официальной документации.

По своей сути Consul — это база данных по типу ключ-значение. При обращении к нему мы получаем информацию о работоспособном приложении. Поэтому, среди аналогов, иногда выделяют etcd и ZooKeeper и, даже, Redis.

Также Consul может быть использован для реализации Service Mesh. Регистрация сервисов в последней производится с помощью функции Consul Connect. Помимо самих сервисов, регистрируются политики взаимодействия, например, мы можем указать, что сервис 1 может взаимодействовать с сервисом 2, но не может взаимодействовать с сервисом 3. А для регистрации своего приложения доступна HTTP API или конфигурационные файлы самого консула (при наличии поддержки со стороны приложения).


Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Прокси-сервер   Freeradius   OpenVPN   IVR   S.M.A.R.T.   Rsync   Кэш   Ошибка 404   JQuery   Unix shell   SPF-запись   Prometheus   QGIS   Golang   SQL   PAM   Flash Player   Server core   OpenVZ   Powershell  
.....

Реклама