Добавьте сервисы gRPC во время выполнения и предоставьте интерфейс клиенту - PullRequest
0 голосов
/ 13 сентября 2018

В настоящее время я работаю над проектом, в котором я хочу иметь возможность добавлять функциональные возможности на сервер gRPC во время выполнения.

После добавления я хочу, чтобы клиент имел доступ к вновь добавленным функциям.У меня есть две разные идеи о том, как решить эту проблему:

  1. Передать сгенерированный файл gRPC через другой интерфейс клиенту и использовать его оттуда.
  2. Использование инфраструктуры отражений, предоставленнойGoogle ( Python gRPC Reflections ), чтобы получить доступные методы и интерфейсы.

Теперь мне было интересно, каков правильный способ решения этой проблемы, и мне интересно, если они уже былирешения для него.

1 Ответ

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

Объект, реализующий интерфейс grpc.GenericRpcHandler, который содержит метод service, может быть зарегистрирован на сервере gRPC. Затем сервисный метод может разрешить и вернуть произвольный RpcMethodHandler на основе имени метода. Вы можете настроить этот метод service для динамического возврата соответствующего обработчика во время выполнения.

...