Grpc 服务优化 GC 的一个问题,请教一下大佬们

查看 54|回复 3
作者:dsvshx   
背景:
客户端用的是 grpc 协议,这个动不了。所以服务端必须用 grpc 协议,但是我们的服务流量非常大。proto 中的 bytes 会比较大,会卡在 gc 上,性能上不去。
方案
服务端不用 grpc 框架,自己用 netty 来实现,就是两层,一层用 Netty Http2 相关的封装,一层自己手动解析 proto 的二进制,遇到 bytes 字段直接用 ByteBuf ,省掉了拷贝到堆内存的 byte[],进而节省这部分的 gc 。返回的时候直接编码成二进制 proto 的格式。
有人做过类似的吗,有什么坑吗?
或者有没有其他更好的方案解决 gc 问题,提高性能?
haython   
服务端非用 java 不可吗?
selca   
外包给 1 楼
lifei6671   
我以为你说 Golang 呢。原来是说的 Java 。Java 的瓶颈也不在 GC 上吧。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部