Consul Go Client резервное соединение с сервером - PullRequest
0 голосов
/ 05 сентября 2018

Я тестирую кластер консулов. Для этого я использую клиент go.

Как ввести несколько серверов для подключения клиента?

Оптимально это будет что-то вроде:

client, err := api.NewClient(api.DefaultConfig())
client.remotes = host_array

Является ли это неправильным подходом к использованию консул, и ожидаемый способ для пользователя - запустить клиентский узел и затем прочитать локально реплицированное состояние?

1 Ответ

0 голосов
/ 15 сентября 2018

Для клиента API Консула по умолчанию установлено значение 127.0.0.1:8500, поскольку ожидается, что он подключится к локальному агенту Консула, работающему в режиме клиента. Агент Консула должен быть вашим «прокси» для Консульских Серверов и поддерживать соединения с активными серверами, так что вам не нужно.

https://www.consul.io/docs/internals/architecture.html https://github.com/hashicorp/consul/issues/3689

Альтернативным подходом может быть использование балансировщика нагрузки для кластера серверов Consul. Стратегии для этого описаны здесь ... https://www.hashicorp.com/blog/load-balancing-strategies-for-consul

...