Что такое Consul

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

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

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

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

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

Управление осуществляется через командную строку. Также для некоторых действий может быть активирован UI (User Interface).

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

Порт Протокол Описание
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.

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

NTP   Kubernetes   Хостинг   Sharepoint   CentOS   GPT (диск)   MongoDB   OpenStack   Гибернация   Roundcube   Vagrant   NET Framework   Xibo   Fail2ban   Samba   FTP   TeamPass   Freeradius   Кэширование   RAID  
.....

Реклама