grpc: обеспечивает ли grpc эффективный способ доступа к серверу в рамках одного и того же процесса? - PullRequest
0 голосов
/ 06 мая 2018

Если клиент и сервер находятся в одном и том же процессе, есть ли ярлык для эффективного доступа? Например, нет маршалинга сообщений, прямого вызова функции и т. Д.

1 Ответ

0 голосов
/ 07 мая 2018

Java имеет внутрипроцессный транспорт (InProcessChannelBuilder и InProcessServerBuilder), способный избежать сериализации. Если вы используете directExecutor () как на клиенте, так и на сервере, то он становится ближе к «прямому вызову функции».

C ++ также имеет внутрипроцессный транспорт (InProcessChannel () на сервере), но он будет сериализовать и десериализовать сообщения. Поскольку большинство языков на основе C используют изменяемые буферы протокола, даже если бы это могло избежать сериализации, ему все равно нужно было бы сделать какую-то копию; Буферы протокола Java являются неизменными.

...