Yeah, sorry.

By server, I mean a grpc server running inside a co-routine.

I have a number of IoT devices connecting to a go grpc server. For each IoT 
device I want to offer a set of APIs for internal consumption.

The two solutions that came into mind are:

a. As soon as an IoT device connect, spawn a goroutine and run a proxy grpc 
server for the specific device. Any internal user that wants to use the 
APIs for the specific IoT device can connect to the proxy grpc server that 
will forward the requests to the IoT device.

b. Have just one grpc proxy server per go application and multiplex the 
requests and forward them to the IoT go-routines.

A feels a bit more distributed and requires less synchronization, but I 
don't know how well it will scale. Hence my question... Does it make sense?

On Tuesday, September 19, 2017 at 2:30:53 PM UTC-7, Pablo Rozas Larraondo 
wrote:
>
> Could you elaborate a little bit more on your use case? I'm wondering why 
> you'd need one server per connection instead of, in the case of Go, one 
> goroutine serving each request.
>
> gRPC is just a generic library for executing functions on remote machines, 
> it is very open in terms of how you can design your system.
>
>
> On Wednesday, September 20, 2017 at 6:00:00 AM UTC+10, [email protected] 
> wrote:
>>
>> How scalable is GRPC on Go?
>>
>> Can I run a GRPC server for every IoT device connected to my server app? 
>> I.e. have 10-20k of GRPC servers per process?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/e482760a-ce43-4258-ae6f-b680b8e4598e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to