oxsean opened a new pull request, #14033:
URL: https://github.com/apache/dubbo/pull/14033

   ## Background
   
   Apache Dubbo is a high-performance RPC framework dedicated to providing 
excellent service governance capabilities. With the introduction of HTTP/3, its 
features based on the QUIC protocol offer new possibilities for Dubbo 
microservices communication. HTTP/3, by reducing latency, increasing 
transmission speed, enhancing security, improving packet loss resistance, and 
supporting 0-RTT connections, provides significant performance and reliability 
improvements for Dubbo in cloud-native environments for microservices 
communication.
   
   ## Technical Solution Summary
   
   This proposal aims to integrate HTTP/3 into Apache Dubbo, supporting all 
core capabilities defined by the Triple protocol specification on HTTP/3. The 
construction of capabilities will revolve around the following core parts:
   
   1. **Remoting Protocol Adaptation**: Develop a new remoting module based on 
netty-incubator-codec-http3, and modify dubbo-rpc-triple to make the existing 
triple's dependency on remoting compatible with HTTP/3. It also needs to 
include support for Alt-Svc defined in RFC7838 to implement bootstrapping.
   2. **RPC Protocol Adaptation**: The adaptation of the RPC part includes both 
client and server. For the server, it mainly needs to support the 
initialization of HTTP/3 UDP Server, INPUT/OUTPUT adaptation, and the 
modification of TransportListener to support HTTP/3. The client part is mainly 
about supporting making call requests through HTTP/3, considering HTTP version 
negotiation, using HTTP/2 for servers that do not support HTTP/3, otherwise 
upgrading to HTTP/3.
   3. **HTTP/3 Core Capabilities Support**: Based on the features of HTTP/3, 
support backpressure and flow control, support setting and optimizing 
congestion control algorithms, support frame prioritization.
   4. **Performance Testing**: Conduct comprehensive performance testing, 
including comparison with HTTP/2 implementation and the original Dubbo protocol 
performance. The test report will cover key indicators such as machine load, 
response time, throughput under specific concurrency, latency, packet loss 
rate, and packet damage rate.
   
   <!-- Follow this checklist to help us incorporate your contribution quickly 
and easily: -->
   
   ## Checklist
   - [x] Make sure there is a 
[GitHub_issue](https://github.com/apache/dubbo/issues) field for the change 
(usually before you start working on it). Trivial changes like typos do not 
require a GitHub issue. Your pull request should address just this issue, 
without pulling in other changes - one PR resolves one issue.
   - [ ] Each commit in the pull request should have a meaningful subject line 
and body.
   - [ ] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
   - [ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
   - [ ] Write necessary unit-test to verify your logic correction, more mock a 
little better when cross module dependency exist. If the new feature or 
significant change is committed, please remember to add sample in [dubbo 
samples](https://github.com/apache/dubbo-samples) project.
   - [ ] Add some description to 
[dubbo-website](https://github.com/apache/dubbo-website) project if you are 
requesting to add a feature.
   - [ ] GitHub Actions works fine on your own branch.
   - [ ] If this contribution is large, please follow the [Software Donation 
Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).
   


-- 
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: notifications-unsubscr...@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org
For additional commands, e-mail: notifications-h...@dubbo.apache.org

Reply via email to