chickenlj opened a new issue, #2263: URL: https://github.com/apache/dubbo-go/issues/2263
According to the Dubbo3 architecture, Triple protocol should be defined as a slim HTTP-based protocol for building browser and gRPC-compatible, high-performance web and rpc services. With the above goal in mind, the Triple implementation in Dubbo-go should be able to do the following: * Communicate with original gRPC servers seamlessly. * Being able to be consumed by the browser directly * Can be easily integrated with all kinds of Dubbo features such as Filter, Router, Registry, etc. with low maintenance efforts and good user experience. * Lightweight enough with only a few hundred or thousands of lines of code. * Introduce as less third-party libraries as possible. * Generated stub should have a gopher-friendly programming API. But the current implementation is still far away or even impossible to meet those requirements. The current implementation depends directly on grpc-go library to fulfill data exchange purpose and is a way proven to have many drawbacks: * Hard to integrate with the extensions and features defined by Dubbo. * Hard to upgrade the grpc-go library since the new version might bring breaking changes. * The whole grpc-go binary package is introduced in the dependency tree but only the RPC protocol part is used. * It's hard to support HTTP based on grpc-go. * We have our own stub generator which has nothing to do with protoc-gen-grpc. So, I think we should provide our lightweight HTTP/2 rpc protocol implementation, and to achieve that, a very similar one provided by [Buf Connect Go](https://github.com/bufbuild/connect-go) can be a very good reference to start. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
