On 2021/10/08 02:59:55, Hao Guo <[email protected]> wrote:
> 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.
>