Я пытаюсь создать группу автосохранения экземпляров solr с использованием Google Cloud с балансировщиком нагрузки на интерфейсе. Ошибка, которую я испытываю, заключается в том, что проверка работоспособности, которую я создал, никогда не проходит независимо от того, что я пытаюсь сделать. Проверка работоспособности настроена на переход на порт 80 (экземпляры с использованием nginx для переадресации портов с 80 на 8983), а путь -/solr/< core_name>/admin/ping.Балансировка нагрузки с Solr на Google Cloud
Я Curl этот путь из-за пределов, например, так и внутри экземпляра (с помощью локального хоста), и я получаю:
curl --head localhost/solr/product/admin/ping
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Fri, 22 Jul 2016 19:41:26 GMT
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
Connection: keep-alive
Может кто-нибудь объяснить, почему проверка здоровья не проходит? Детали проверки здоровья являются:
checkIntervalSec: 20
creationTimestamp: '2016-07-21T11:54:44.196-07:00'
description: ''
healthyThreshold: 1
host: ''
id: <id>
kind: compute#httpHealthCheck
name: <name>
port: 80
requestPath: /solr/product/admin/ping
selfLink: < path to healthcheck >
timeoutSec: 20
unhealthyThreshold: 3
Единственное, что я могу думать в Health Check странице, он говорит: «Для проверки работоспособности будет считаться успешным, экземпляр должен возвращать правильный ответ HTTP с кодом 200 и закройте соединение, как правило, в течение периода времени ожидания ». Я знаю, что Solr дает код 200, но из команды curl он также поддерживает соединение живым, а не закрывает его. Может быть, ошибка? Если да, то как мне обойти это?
Если я укажу проверку работоспособности на порт 8983, где выполняется solr вместо маршрутизации через nginx, соединение больше не использует keep-alive
, но также сообщает, что экземпляр является нездоровым.
Любая помощь будет высоко ценится,