Hi, All

I am writing this mail to discuss about our work in the next stage, some trends 
we should follow, or even what Dubbo should be next.

Approximately from last year, there have been some discussions and thoughts in 
the community about how Dubbo should following or leading the tech trend in its 
area. With this goal in mind, I recently spent some time trying to dive deep in 
some related techs. Here I want to express some of my points regarding the two 
most discussed topics in our community, they are, HTTP/2 protocol and Cloud 
Native. 

1.  http/2. Considering that gRPC has done a great job upon HTTP/2 and the 
extraordinary influence it achieved in the industry. I think it should be a 
non-negligible part for us to take into consideration when talking about this 
topic. Actually, I would suggest we first consider integrating gRPC into our 
framework to 1. to leverage Dubbo's more powerful service management ability 2. 
quickly bring Dubbo HTTP/2 support.  This is suitable to be done in 2.7.x. In 
the long run, I think we may need to provide built-in HTTP/2 support, which may 
require a standard HTTP/2 application layer protocol (compatible with GRPC can 
be an option), and introduce application level streaming semantics. This is 
suitable to be done in 3.x.

2. Microservices and Cloud Native. When comes to this topic, the most obvious 
thing to notice is the mismatch of the service model between Dubbo and 
Microservices architecture. Our definition of services is based on Interface, 
one Interface is intercepted as a service, while the Microservices 
architecture,  Application is the first-class citizen, you can consider an 
Application as a service, interfaces are only see as metadas inside the 
service. This mismatch makes service discovery, service management and any 
introps very difficult or even impossible. I like the Microservice's model more 
than Dubbo's and I think we should start reconsidering our service model. I 
would restrict the discussion about Cloud Native to K8S here, I continuely see 
issue asking about Dubbo running on K8S. I think this question on root is about 
how to leverage the service discovery and container orchestration capabilities 
provided by K8S. 

This time I think we should not just stay in discussion, instead, we need to go 
to the next phase to come up with some practical solutions, make them part of 
our milestone and realize them. If you agree with the opinions I put forward 
above, I am glad to try to write down some of my recent researchs into a draft 
proposal. Then we can further discuss on some of the details and finally make 
it a practical one.

Ken

Reply via email to