Hi, all

Dubbo 3.0 currently supports triple protocol with ReferenceConfig and
ServiceConfig that follows Dubbo2's style. It is quite simple and follows
intuition. But there are still some disadvantages of it.

   - The traditional reflection and proxy usage are slow and out of trend
   - It is hard to use as a simple RPC framework without microservice infra
   such as service discorvery,configuration...
   - For green hands, it is quite hard to learn and start developing Dubbo
   because of SPI/URL/Cluster and other complexity abstractions
   - Async api has never been supported nativly and CompletableFuture is
   underperforming.
   - Support polyglot with hessian or other serializations inclinating to
   Java is exhausting and not fully compatible.

For those reasons, we suggest that Dubbo should do more at compile phase
and simplify the invocation chain to act as a pure RPC framework. Based on
this, we can build a faster and user-friendly Dubbo. Users do not need to
config everything, just compile the IDL file and write little code.
Goals

   - No reflection and proxy in stub invoaction
   - Just Connnection + Stub is enough for RPC
   - Support pure async api with sync, and easy to extend with reactive

Approaches

   - Provider maven plugin (and gradle) to genertate stub
   - Simpliy invocation chain to support stub


Glad to receive all thoughts and suggestions for futher discussions.

Reply via email to