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]

Reply via email to