Вызов между экземплярами сервисов RX не дождался ответа
«Response did not arrive on time in 00:00:30 for message» и «Unable to connect to endpoint S10.x.x.x:11111. See InnerException» в логах Directum RX: внутренний вызов между экземплярами сервисов в кластере Orleans не получил ответ вовремя. Перегрузка экземпляра, его перезапуск или сеть между подами.
Что это значит
Сервисы RX объединяют свои экземпляры в кластер на фреймворке Orleans и вызывают друг друга по внутреннему порту. В тексте видно адрес вызываемого экземпляра в виде S10.0.0.5:11111:.... Response did not arrive on time значит, что ответ не пришёл за отведённое время. Unable to connect to endpoint значит, что к экземпляру не удалось даже подключиться.
Частые причины: вызываемый экземпляр перегружен или завис; он перезапускается или уже удалён, а остальные ещё считают его живым; порт кластера закрыт между подами или серверами.
Как проверить
- Существует ли экземпляр с адресом из текста:
kubectl get pods -o wide | grep 10.0.0.5. - Его нагрузка и журнал в это время: процессор, память, долгие операции.
- Совпадают ли ошибки по времени с перезапуском сервисов: тогда они временные.
Что сделать
- Если экземпляр перезапускался, ошибки пройдут сами, когда кластер обновит состав.
- Если экземпляр перегружен, разбирать его нагрузку и ресурсы.
- Если не подключиться к живому экземпляру, проверить сетевые политики и межсетевой экран для внутреннего порта кластера.
- Связанная ошибка при старте сервиса: Hosting failed to start.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать