Мы определяем наш микросервис внутри kubenetes Pods, нужно ли нам подключать Grpc-клиент к повторному подключению, если перезапуск сервисного модуля? Когда перезагружается модуль, имя хоста не изменяется, но мы не можем гарантировать, что IP-адрес останется прежним. Таким образом, клиент grpc все еще может обнаружить новый сервер для повторного подключения?Клиент-клиент GRPC повторно подключается внутри kubenetes
ответ
Когда TCP-соединение отключено (из-за остановки старого порта), канал gRPC попытается восстановить соединение с экспоненциальным отклонением. Каждая попытка повторного подключения подразумевает разрешение DNS-адреса, хотя он не может сразу обнаружить новый адрес из-за TTL (время жизни) старой записи DNS. Кроме того, я считаю, что некоторые реализации разрешают адрес, когда обнаружен сбой, а не перед попыткой.
Этот процесс происходит естественным образом, если ваше приложение ничего не делает, хотя оно может испытывать ошибки RPC до тех пор, пока соединение не будет восстановлено. Включение «ожидание готовности» в RPC уменьшит вероятность сбоя RPC в течение этого периода перехода, хотя такой RPC обычно подразумевает, что вы не заботитесь о задержке ответа.
Если DNS-адрес не был (в конечном итоге) реконструирован, это будет ошибкой, и вы должны указать проблему.
Необходимо балансировку нагрузки на стороне клиента, как описано here. Вы можете просмотреть конечные точки службы с помощью Kubernetes api. Я создал пакет для языка программирования Go, и он находится на github. Извините, но я еще не написал документацию. Базовая концепция - это получение конечных точек обслуживания в начале, чем конечные точки обслуживания для изменений.
- 1. Socket IO повторно подключается?
- 2. SQLAlchemy повторно подключается к db
- 3. MPMoviePlayerController повторно подключается несколько раз
- 4. API-интерфейс канала GAE повторно подключается
- 5. BLE Устройство повторно подключается после выключения
- 6. Flex VideoDisplay повторно подключается после idletimeout
- 7. Android Stomp повторно подключается к ActiveMQ
- 8. jvisualvm - автоматически (JMX) повторно подключается к приложению?
- 9. Kinect USB 3.0 часто повторно подключается
- 10. Последовательный (COM) -Порт повторно подключается к Windows
- 11. socket.io не повторно подключается после отключения
- 12. c3p0 повторно подключается после отключения сети
- 13. gRPC и ExtensionRegistry
- 14. Kubenetes gcloud container engine get-credential error
- 15. Kubenetes не восстанавливает обслуживание после отказа миньона
- 16. Инициатор QuickFIX отправляет запрос на выход и не повторно подключается
- 17. Клиент Socket.io отключает и повторно подключается к websocket постоянно
- 18. Приложение IISNode, Express & Socket.IO Chat повторно подключается каждые ~ 2 минуты
- 19. PDO с PDOStatement повторно подключается к ошибке «mysql server gone»
- 20. SignalR повторно подключается после перезапуска приложения Azure Web
- 21. база данных django повторно подключается к другому пользователю
- 22. Протокол отказоустойчивости ActiveMQ не повторно подключается к мастеру после перезапуска
- 23. Сеть Android не повторно подключается, когда Wifi падает
- 24. iOS: как клиент повторно подключается к серверу xmpp
- 25. gRPC с WPF не работает
- 26. Как ZeroMQ подключается и связывает работу внутри?
- 27. Использование grpc в Laravel, «Class 'Grpc \ ChannelCredentials« не найден ».
- 28. Серверный поток Golang gRPC
- 29. Разбиение страницы в gRPC
- 30. Конфигурация SBT protobuf grpc
Пожалуйста, укажите, что описано в вашей ссылке, так как ссылки только на них нахмурены. Ответ должен иметь возможность существовать, не полагаясь на внешние источники. –