Golang grpc:它的可扩展性如何?
Golang grpc: how scalable is it?
GRPC on Go 的可扩展性如何?
我可以 运行 为每个连接到我的服务器应用程序的物联网设备提供一个 GRPC 服务器吗? IE。每个进程有 10-20k 个 GRPC 服务器?
你的意思是每个服务一个新的grpc监听TCP端口? Go 无法修复它的可扩展性;大量 TCP 侦听器在操作系统范围内存在可伸缩性问题。
如果你的意思是一个 TCP 侦听器对数千个其他设备进行反向代理,那么 Go 非常适合。 Go 擅长的是便宜 "threads",因为他们不必分配完整的线程堆栈。在 Go 中,产生一个 "goroutine" 的成本约为 4k,而不是与真实线程相比最少 1MB 的损失。
grpc 旨在通过 http2 传输并有效地重用套接字,并有效地打包数据。
GRPC on Go 的可扩展性如何?
我可以 运行 为每个连接到我的服务器应用程序的物联网设备提供一个 GRPC 服务器吗? IE。每个进程有 10-20k 个 GRPC 服务器?
你的意思是每个服务一个新的grpc监听TCP端口? Go 无法修复它的可扩展性;大量 TCP 侦听器在操作系统范围内存在可伸缩性问题。
如果你的意思是一个 TCP 侦听器对数千个其他设备进行反向代理,那么 Go 非常适合。 Go 擅长的是便宜 "threads",因为他们不必分配完整的线程堆栈。在 Go 中,产生一个 "goroutine" 的成本约为 4k,而不是与真实线程相比最少 1MB 的损失。
grpc 旨在通过 http2 传输并有效地重用套接字,并有效地打包数据。