Questions tagged [grpc]

A general RPC (Remote Procedure Call) framework over HTTP/2, initially developed at Google. gRPC is a language neutral and platform neutral framework that allows users to write applications where independent services can work with each other as if they were native. It uses Protocol Buffers as the interface description language.

Links

Related Tags

6316 questions
20
votes
1 answer

What the difference between JSON RPC with HTTP2 vs grpc?

I don't like tools that do many things at once. So GRPC seems to me overhead, it's like kubernetes. GRPC is the tool that combines actually two things: extended Protobuf (Service support) and HTTP2. I read a lot of articles saying that using GRPC…
Alexander Kondaurov
  • 3,677
  • 5
  • 42
  • 64
20
votes
2 answers

Multiple unary rpc calls vs long-running bidirectional streaming in grpc?

I have a use case where many clients need to keep sending a lot of metrics to the server (almost perpetually). The server needs to store these events, and process them later. I don't expect any kind of response from the server for these events. I'm…
avmohan
  • 1,820
  • 3
  • 20
  • 39
20
votes
7 answers

How to test gRPC APIs?

I have been assigned to test a gRPC API (written in Golang) but I don't know how to go about testing it and I couldn't find any tutorials online for this type of testing. The only method that I can think of is to write unit tests to test the methods…
C J
  • 567
  • 2
  • 4
  • 11
20
votes
1 answer

Why does Google.Pubsub.V1 beta01 not work with dotnet cli projects?

I have created a very simple program which should list the topics available in a Google Cloud project. The code is trivial: using System; using Google.Pubsub.V1; public class Test { static void Main() { var projectId = "(fill in…
Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194
19
votes
5 answers

Bind gRPC services to specific port in aspnetcore

Using aspnetcore 3.1 and the Grpc.AspNetCore nuget package, I have managed to get gRPC services running successfully alongside standard asp.net controllers as described in this tutorial. However I would like to bind the gRPC services to a specific…
Laurence
  • 419
  • 1
  • 5
  • 12
19
votes
1 answer

Can I run multiple GRPC services on same port

I'm working on gRPC and I want to run multiple services on same port Server server = ServerBuilder.forPort(8080) .addService(new HelloServiceImpl()) .addService(new ByeServiceImpl()) .build(); Is this the right way to run multiple GRPC…
Azeem Haider
  • 1,443
  • 4
  • 23
  • 41
19
votes
2 answers

grpc: received message larger than max (8653851 vs. 4194304)

The problem: I am getting this error while receiving message in grpc: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (8653851 vs. 4194304) What I tried: I gave the option to increase the size of the message to be…
Satyajit Das
  • 2,740
  • 5
  • 16
  • 30
19
votes
1 answer

Not able to connect to grpc from nodejs/python client

My grpc server is in go (go-micro), and it working fine, I have tested both via micro web and go web app (iris). This is a local grpc setup I keep getting this error (Stream removed) { Error: 2 UNKNOWN: Stream removed at new createStatusError…
HamidRaza
  • 640
  • 1
  • 7
  • 15
19
votes
2 answers

Does gRPC server spin up a new thread for each request?

I tried profiling a gRPC java server. And i see the below set of thread pools majorly. grpc-default-executor Threads : Created 1 for each incoming request. grpc-default-worker-ELG Threads: May be to listen on the incoming gRPC requests & assign to…
Venkata Naresh
  • 377
  • 1
  • 2
  • 9
19
votes
2 answers

Connection Error io.netty.handler.codec.http2.Http2Exception: HTTP/2 client preface string missing or corrupt. Hex dump for received bytes:

Working on Grpc Bidirectional Streaming, when i try to run grpc, getting below error Connection Error io.netty.handler.codec.http2.Http2Exception: HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: at…
Gayathri
  • 221
  • 1
  • 3
  • 8
19
votes
6 answers

gRPC Load Balancing

I have read the Load Balancing page at https://github.com/grpc/grpc/blob/master/doc/load-balancing.md to start of, but still am confused as to the right approach to loadbalancing between back end GRPC instances. We are deploying multiple gRPC…
user3707
  • 1,470
  • 2
  • 15
  • 21
19
votes
4 answers

How to import gRPC empty and Google api annotations proto

I am trying to use Google Cloud Endpoints to make a gRPC based api that can transcode incoming REST requests. I am following their example code but I can not any documentation on how to properly import and compile with the annotation.proto or the…
19
votes
2 answers

Protobuf import failure

Does anyone know where I can find an example of a gRPC protobuf file that imports from a different file and uses a protobuf message in a return? I can't find any at all. I have a file... syntax = "proto3"; package a1; import "a.proto"; service…
user3125693
  • 870
  • 11
  • 24
19
votes
3 answers

gRPC / Protobuf interface versioning

Let's say we use gRCP/Protobuf to connect many application. Those application are developped and released at their own team, with their own speed. Over time there will be different version of the the same app (e.g. desktop apps install on user PCs)…
Paul Verest
  • 60,022
  • 51
  • 208
  • 332
19
votes
1 answer

What is the difference between net/rpc package of Golang and gRPC framework?

gRPC is a "general RPC framework" which uses ProtoBuffer to serialize and deserialize while the net/rpc package seems could do "nearly" the same thing with encoding/gob and both are under the umbrella of Google. So what's the difference between…
lfree
  • 1,880
  • 3
  • 24
  • 39