Мы разрабатываем продукт, который будет работать как набор услуг, развернутых локально (например, в локальной сети офиса, завода и т. Д.). Поскольку для каждого клиента может быть множество целей развертывания, и мы хотим минимизировать усилия по настройке за счет максимальной автоматизации, мы думаем об использовании consul в качестве решения для сервера обнаружения и настройки сервисов. Он соответствует нашим требованиям, а также обеспечивает взаимную аутентификацию TLS между службами , делая всю настройку более безопасной.
У нас есть два основных требования:
Однако, проведя исследования в Интернете и много поиграв с Consul, мы все еще сомневаемся в этом. В частности, нам понадобится совет по требованию от Consul docs, что вам необходимо как минимум 3 экземпляра в вашем кластере. Подходит ли он для нашего сценария использования, в котором он будет установлен на рабочих станциях сотрудников наших клиентов, которые могут быть отключены в любое время (даже при условии, что один экземпляр, который мы называем главным, всегда будет доступен)?
Consul не подходит для вашего варианта использования, так как предполагает наличие кворума узлов, доступных для согласования. Это также, как и все системы распределенного консенсуса, привередливое и неповоротливое программное обеспечение, которое вызовет больше простоев, чем предотвратит, пока вы не потратите много времени на отработку всего его
Однажды мне позвонил бывший работодатель, умоляющий меня починить их залитый шлангом кластер Consul, потому что он все снес, и никто из тех, кто еще был там, не умел трепаться оно вернулось к жизни.
Не пытайтесь фантазировать с обнаружением услуг; поскольку у вас есть одна машина, которая всегда будет доступна, просто вставьте на нее какую-нибудь базу данных и начните с ума.