Что такое Consul

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

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

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

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

Приложение может быть установлено на серверы под управлением всех популярных систем: 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.

Дмитрий Моск
— IT-специалист.
Настройка серверов, компьютерная помощь.

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

SSH   PDU   Операционная система   Javascript   Файловый сервер   Jenkins   RAW (файловая система)   Maven   Prometheus   Blu-Ray   Powerpoint   JQuery   Nano server   Yota   QR-код   MTU   GitLab   Симлинк   WordPress   SARG  
.....

Реклама