help wanted
Description
arthas目前的http api比较简陋,很多功能都不理想。后续希望通过一个grpc server来提供服务。但是grpc官方的实现太大了,需要打包很多东西。
需要解决两个问题:
-
gRPC协议的实现
尽量少外部依赖,需要支持双向stream。
-
protobuf的序列化/反序列化
这个优先级不是很高,可能直接用 protobuf java官方的生成代码也可以接受。
可以参考下面这个项目,它有实现 gRPC 协议
序列化部分,可能可以参考 opentelemetry 里的半手动的方式。可能写起来比较麻烦,但好处是不用引用太多外部的依赖。
考虑基于netty实现一个简化版本的grpc server。目前可以参考dubbo里的triple实现。热烈欢迎社区提供支持~
- https://github.com/apache/dubbo/tree/3.2/dubbo-rpc/dubbo-rpc-triple
- https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-triple
还可以参考这个:
- https://armeria.dev/docs/server-grpc 这个只使用了grpc-api,是有自己的grpc实现: armeria-grpc-1.20.3.jar