You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dubbo.apache.org by Jun Liu <li...@apache.org> on 2019/04/18 13:46:11 UTC

[DISS] Some thoughts on some trends Dubbo should follow.

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


Re: [DISS] Some thoughts on some trends Dubbo should follow.

Posted by ding peng <pr...@gmail.com>.
Hi, Ken

    I just became contributor of Dubbo community, and I really want to provide some strength for it.  Looking forward to your proposal, then we can discuss it more. :) 


Moriadry


> 在 2019年4月18日,下午9:46,Jun Liu <li...@apache.org> 写道:
> 
> 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
> 


Re: [DISS] Some thoughts on some trends Dubbo should follow.

Posted by Jun Liu <li...@apache.org>.
Hi,

Sorry for coming to this thread late.

Blow is a draft proposal from Mercy and me. We try give Dubbo a new service discovery model to better adapt to Cloud Native structure, it is far from the final resolution, please feel free to share your opinions to help improve it.

https://github.com/apache/incubator-dubbo/issues/3942 <https://github.com/apache/incubator-dubbo/issues/3942>

Ken

> On Apr 25, 2019, at 2:19 PM, Jun Liu <li...@apache.org> wrote:
> 
> I didn't thought in a roadmap level when bringing up this discussion, but I agree with you for the community to reach a consensus on this year’s roadmap. I can help to draft one based on my knowledge and understanding of this project, hopefully it can serve as a basis for people to present different opinions.
> 
> For the HTTP/2 support and Cloud Native proposals, I am still working them, they should be available in a few days.
> 
> Ken
> 
>> On Apr 22, 2019, at 1:49 PM, Ian Luo <ia...@gmail.com> wrote:
>> 
>> HTTP/2 support and Cloud Native Microservices are definitely two important
>> goals we should achieve in this year, and I am looking forward to reading
>> your proposal. Meanwhile, I think we should discuss and come up with a
>> draft roadmap for the incoming whole year so that it will make the
>> community easier to participate.
>> 
>> What do you think, Jun?
>> 
>> Thanks,
>> -Ian.
>> 
>> 
>> On Thu, Apr 18, 2019 at 9:46 PM Jun Liu <li...@apache.org> wrote:
>> 
>>> 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
>>> 
>>> 
> 


Re: [DISS] Some thoughts on some trends Dubbo should follow.

Posted by Jun Liu <li...@apache.org>.
I didn't thought in a roadmap level when bringing up this discussion, but I agree with you for the community to reach a consensus on this year’s roadmap. I can help to draft one based on my knowledge and understanding of this project, hopefully it can serve as a basis for people to present different opinions.

For the HTTP/2 support and Cloud Native proposals, I am still working them, they should be available in a few days.

Ken

> On Apr 22, 2019, at 1:49 PM, Ian Luo <ia...@gmail.com> wrote:
> 
> HTTP/2 support and Cloud Native Microservices are definitely two important
> goals we should achieve in this year, and I am looking forward to reading
> your proposal. Meanwhile, I think we should discuss and come up with a
> draft roadmap for the incoming whole year so that it will make the
> community easier to participate.
> 
> What do you think, Jun?
> 
> Thanks,
> -Ian.
> 
> 
> On Thu, Apr 18, 2019 at 9:46 PM Jun Liu <li...@apache.org> wrote:
> 
>> 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
>> 
>> 


Re: [DISS] Some thoughts on some trends Dubbo should follow.

Posted by Ian Luo <ia...@gmail.com>.
HTTP/2 support and Cloud Native Microservices are definitely two important
goals we should achieve in this year, and I am looking forward to reading
your proposal. Meanwhile, I think we should discuss and come up with a
draft roadmap for the incoming whole year so that it will make the
community easier to participate.

What do you think, Jun?

Thanks,
-Ian.


On Thu, Apr 18, 2019 at 9:46 PM Jun Liu <li...@apache.org> wrote:

> 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
>
>