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.
