В настоящее время я работаю Docker версии 18.03.1-ce, сборка 9ee9f40 на нескольких узлах.Моя установка - это служба nginx и несколько java restful API-сервисов, работающих в кластере wildfly.Для моих сервисов API я настроил простую проверку работоспособности, чтобы определить, действительно ли моя задача API выполнена:
HEALTHCHECK --interval=5m --timeout=3s \
--retries=2 --start-period=1m \
CMD curl -f http://localhost:8080/api/healthcheck || exit 1
Но даже с использованием HealthCheck мой nginx иногда получает и выдает ошибку -вызвано тем, что API все еще не полностью - не может обслуживать запросы на отдых.
Единственное решение, которое мне удалось получить до сих пор, - это увеличение - начального периода вручную на гораздо более длительные периоды.
Как работает докер?служба балансировщик нагрузки решает, когда начинать маршрутизацию запросов к новой службе?
Является ли установка более высокого времени с помощью - начальный период в настоящее время единственным способом предотвратить перенаправление балансировщиком нагрузки трафика на задачу, которая не готова к трафику, или я что-то упустил?
Я видел «сине-зеленые» ответы о развертывании, такие как это , где вы можете управлять нулевым временем простоя, но я все еще надеюсь, что это можно сделать с помощью служб докеров.