Когда приходит новый вызов gRPC, создает ли сервер новую процедуру?
Да, и весьма вероятно, что он создает много параллельных процедур для обработки каждого соединения и запроса (особенно потоковый запрос).
Какими данными обмениваются эти программы?
Мне кажется, этот вопрос слишком широкий.В пакетах net/http2
и google.golang.org/grpc
слишком много кода, чтобы ответить на ваш вопрос без глубокого изучения.Тем не менее, мы можем быть уверены, что эти goroutines разделяют по крайней мере сам сервер, потому что ServeConn
не свободная функция, а метод, определенный для типа http2.Server
.