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 2020/07/16 11:36:58 UTC

[DISCUSSION] Define the next generation Dubbo - Dubbo 3.0

Hi, Folks

I would like to initiate a discussion about Dubbo 3.0.

Recently, I was thinking about the next generation Dubbo, focusing on supporting larger-scale cluster with millions of instances, adapting to cloud native infrastructures, working with Service Mesh, etc.. I also noticed that many developers in the community are also discussing this topic on GitHub and other occasions recently. Most users want to make their Dubbo based micro-services Cloud Native, this requires the change of Dubbo framework itself. 

In my mind, the key word of Dubbo 3.0 should be Cloud Native, we should focus on making a plan to create a more Cloud Native friendly RPC framework. Approximately in 2018, the community had a discussion on defining Dubbo 3.0, which is mostly restricted the theme of Reactive Stream. But today, when talking about Dubbo 3.0 again, i think Reactive Stream is still an important topic, but we should think much broader.

I am just trying to give out some of my own thoughts on Dubbo 3.0. Hope to hear more from you.

Jun


Re: [DISCUSSION] Define the next generation Dubbo - Dubbo 3.0

Posted by Ian Luo <ia...@gmail.com>.
>
> + Define Dubbo ecosystem
> Currently Dubbo is big and there are many related repos, some of them don't
> have updates for a long time.
> It's better to have a clean understanding here. to define what Dubbo can
> provide and will continually maintain.


Agree, this becomes a challenge to all of us. I believe a clear roadmap can
attract more people to join us to build them better other than dubbo java
and dubbo go. At the same moment I am thinking if it is a good idea to move
some extension impls out from the main repo, and keep them one
separated repo named 'dubbo-extensions' so we can boost the speed from the
perspective of both development and build.

+ Roadmap and release plan
> For Dubbo 3.0, when there is a clean picture what it should look like. We
> need a roadmap.
> And also for each version, exclude bug fixes, what kind of feature will
> include and what may include.
> This can help users to know what's happening to Dubbo and what's the next
> step, so they can make better plans for their own stuff, like version
> upgrading.


+1. First of all, for this time we need to define a clear target for
version 3.0, and summarize it not only in this mailing list, but also post
it on GitHub, so that peoples can understand better what dubbo 3.0 is, and
I agree it is a good idea to keep posting the update by weekly or monthly
so that everyone know how the project proceeds, no matter they involve
themselves in the project or not.

+ Integration with other project/systems
> My understanding for Cloud Native, there are many great projects in the
> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
> implemented with other projects/systems,
> maybe we can discuss what project/systems can Dubbo work together with,
> maybe for monitoring, service discovery, tracing, router and more.


+1, there are two things out of my brain right now with regarding to what
we should support for Cloud Native, one is service discovery in K8s, and
the second is direct xDS support in order to make Dubbo work better with
other sidecar in service mesh.

Regards,
-Ian.


On Fri, Jul 17, 2020 at 1:20 PM YunKun Huang <ht...@gmail.com> wrote:

> hey,
>
> Cloud Native friendly sounds good. but how to define it? What dubbo needs
> change to achieve this?
>
> I would like to add more topic for Dubbo 3.0
>
> + Define Dubbo ecosystem
> Currently Dubbo is big and there are many related repos, some of them don't
> have updates for a long time.
> It's better to have a clean understanding here. to define what Dubbo can
> provide and will continually maintain.
>
> + Roadmap and release plan
> For Dubbo 3.0, when there is a clean picture what it should look like. We
> need a roadmap.
> And also for each version, exclude bug fixes, what kind of feature will
> include and what may include.
> This can help users to know what's happening to Dubbo and what's the next
> step, so they can make better plans for their own stuff, like version
> upgrading.
>
> + Integration with other project/systems
> My understanding for Cloud Native, there are many great projects in the
> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
> implemented with other projects/systems,
> maybe we can discuss what project/systems can Dubbo work together with,
> maybe for monitoring, service discovery, tracing, router and more.
>
> Yunkun
>
>
> On Thu, Jul 16, 2020 at 7:37 PM Jun Liu <li...@apache.org> wrote:
>
> > Hi, Folks
> >
> > I would like to initiate a discussion about Dubbo 3.0.
> >
> > Recently, I was thinking about the next generation Dubbo, focusing on
> > supporting larger-scale cluster with millions of instances, adapting to
> > cloud native infrastructures, working with Service Mesh, etc.. I also
> > noticed that many developers in the community are also discussing this
> > topic on GitHub and other occasions recently. Most users want to make
> their
> > Dubbo based micro-services Cloud Native, this requires the change of
> Dubbo
> > framework itself.
> >
> > In my mind, the key word of Dubbo 3.0 should be Cloud Native, we should
> > focus on making a plan to create a more Cloud Native friendly RPC
> > framework. Approximately in 2018, the community had a discussion on
> > defining Dubbo 3.0, which is mostly restricted the theme of Reactive
> > Stream. But today, when talking about Dubbo 3.0 again, i think Reactive
> > Stream is still an important topic, but we should think much broader.
> >
> > I am just trying to give out some of my own thoughts on Dubbo 3.0. Hope
> to
> > hear more from you.
> >
> > Jun
> >
> >
>

Re: [DISCUSSION] Define the next generation Dubbo - Dubbo 3.0

Posted by Jun Liu <li...@apache.org>.
I will try to write down the details of some of my thoughts and post them on Github and official site Blog.

Jun

> On Jul 30, 2020, at 6:01 PM, Jun Liu <li...@apache.org> wrote:
> 
>> Cloud Native friendly sounds good. but how to define it? What dubbo needs
>> change to achieve this?
> 
> That’s the main reason why I started this discussion, we need to hear more from the community about what they think of Dubbo 3.0 and Cloud Native.
> 
>> Currently Dubbo is big and there are many related repos, some of them don't
>> have updates for a long time.
> 
> 
> I had a try on separating some of them out to a separate repo, I think I can continue working on it:
> https://github.com/apache/dubbo-spi-extensions
> 
>> For Dubbo 3.0, when there is a clean picture what it should look like. We
>> need a roadmap.
>> And also for each version, exclude bug fixes, what kind of feature will
>> include and what may include.
> 
> 
> 2.6/2.7 should focus on bugfixes while 3.0 can explore more new features. As for the 3.0 roadmap, I hope we can have a draft by the end of this discussion. It doesn't matter how perfect the draft roadmap is. We can improve it slowly.
> 
>> + Integration with other project/systems
>> My understanding for Cloud Native, there are many great projects in the
>> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
>> implemented with other projects/systems,
>> maybe we can discuss what project/systems can Dubbo work together with,
>> maybe for monitoring, service discovery, tracing, router and more.
> 
> +1, adapting to all kinds of  Cloud Native projects should be one important part of Dubbo’s Cloud Native plan. But considering the existing contributors, while most of them have limited time and can mainly focus on the development of the Dubbo core project, we need to figure out new ways to attract more community developers to get involved in this part.
> 
> Here is what I think we should do about Dubbo 3.0:
> a. Introduce the next generation RPC protocol which will built on top of HTTP/2 and will be much friendly to mesh, proxy, and mobile devices.
> b. Refactor the current service discovery design, separating the data transmitted registry into two parts:
> 	* data strongly related to address, related to the instance where one app is deployed, this part can still publish to and notify by registry. 
> 	* data that used to instruct the client of how to interact with the server should be separated to another place, for example, the open slot list design mentioned in the third level of the REST Maturity Model[1]
> c. Support Kubernetes Native Service through API-SERVER or DNS
> d. Work with Control Plane (Mesh) seamlessly by supporting xDS configuration and service discovery.
> 
> 1. https://martinfowler.com/articles/richardsonMaturityModel.html#level3
> 
> Jun
> 
>> On Jul 17, 2020, at 1:20 PM, YunKun Huang <ht...@gmail.com> wrote:
>> 
>> hey,
>> 
>> Cloud Native friendly sounds good. but how to define it? What dubbo needs
>> change to achieve this?
>> 
>> I would like to add more topic for Dubbo 3.0
>> 
>> + Define Dubbo ecosystem
>> Currently Dubbo is big and there are many related repos, some of them don't
>> have updates for a long time.
>> It's better to have a clean understanding here. to define what Dubbo can
>> provide and will continually maintain.
>> 
>> + Roadmap and release plan
>> For Dubbo 3.0, when there is a clean picture what it should look like. We
>> need a roadmap.
>> And also for each version, exclude bug fixes, what kind of feature will
>> include and what may include.
>> This can help users to know what's happening to Dubbo and what's the next
>> step, so they can make better plans for their own stuff, like version
>> upgrading.
>> 
>> + Integration with other project/systems
>> My understanding for Cloud Native, there are many great projects in the
>> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
>> implemented with other projects/systems,
>> maybe we can discuss what project/systems can Dubbo work together with,
>> maybe for monitoring, service discovery, tracing, router and more.
>> 
>> Yunkun
>> 
>> 
>> On Thu, Jul 16, 2020 at 7:37 PM Jun Liu <li...@apache.org> wrote:
>> 
>>> Hi, Folks
>>> 
>>> I would like to initiate a discussion about Dubbo 3.0.
>>> 
>>> Recently, I was thinking about the next generation Dubbo, focusing on
>>> supporting larger-scale cluster with millions of instances, adapting to
>>> cloud native infrastructures, working with Service Mesh, etc.. I also
>>> noticed that many developers in the community are also discussing this
>>> topic on GitHub and other occasions recently. Most users want to make their
>>> Dubbo based micro-services Cloud Native, this requires the change of Dubbo
>>> framework itself.
>>> 
>>> In my mind, the key word of Dubbo 3.0 should be Cloud Native, we should
>>> focus on making a plan to create a more Cloud Native friendly RPC
>>> framework. Approximately in 2018, the community had a discussion on
>>> defining Dubbo 3.0, which is mostly restricted the theme of Reactive
>>> Stream. But today, when talking about Dubbo 3.0 again, i think Reactive
>>> Stream is still an important topic, but we should think much broader.
>>> 
>>> I am just trying to give out some of my own thoughts on Dubbo 3.0. Hope to
>>> hear more from you.
>>> 
>>> Jun
>>> 
>>> 
> 


Re: [DISCUSSION] Define the next generation Dubbo - Dubbo 3.0

Posted by Jun Liu <li...@apache.org>.
> Cloud Native friendly sounds good. but how to define it? What dubbo needs
> change to achieve this?

That’s the main reason why I started this discussion, we need to hear more from the community about what they think of Dubbo 3.0 and Cloud Native.

> Currently Dubbo is big and there are many related repos, some of them don't
> have updates for a long time.


I had a try on separating some of them out to a separate repo, I think I can continue working on it:
https://github.com/apache/dubbo-spi-extensions

> For Dubbo 3.0, when there is a clean picture what it should look like. We
> need a roadmap.
> And also for each version, exclude bug fixes, what kind of feature will
> include and what may include.


2.6/2.7 should focus on bugfixes while 3.0 can explore more new features. As for the 3.0 roadmap, I hope we can have a draft by the end of this discussion. It doesn't matter how perfect the draft roadmap is. We can improve it slowly.

> + Integration with other project/systems
> My understanding for Cloud Native, there are many great projects in the
> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
> implemented with other projects/systems,
> maybe we can discuss what project/systems can Dubbo work together with,
> maybe for monitoring, service discovery, tracing, router and more.

+1, adapting to all kinds of  Cloud Native projects should be one important part of Dubbo’s Cloud Native plan. But considering the existing contributors, while most of them have limited time and can mainly focus on the development of the Dubbo core project, we need to figure out new ways to attract more community developers to get involved in this part.

Here is what I think we should do about Dubbo 3.0:
a. Introduce the next generation RPC protocol which will built on top of HTTP/2 and will be much friendly to mesh, proxy, and mobile devices.
b. Refactor the current service discovery design, separating the data transmitted registry into two parts:
	* data strongly related to address, related to the instance where one app is deployed, this part can still publish to and notify by registry. 
	* data that used to instruct the client of how to interact with the server should be separated to another place, for example, the open slot list design mentioned in the third level of the REST Maturity Model[1]
c. Support Kubernetes Native Service through API-SERVER or DNS
d. Work with Control Plane (Mesh) seamlessly by supporting xDS configuration and service discovery.

1. https://martinfowler.com/articles/richardsonMaturityModel.html#level3

Jun

> On Jul 17, 2020, at 1:20 PM, YunKun Huang <ht...@gmail.com> wrote:
> 
> hey,
> 
> Cloud Native friendly sounds good. but how to define it? What dubbo needs
> change to achieve this?
> 
> I would like to add more topic for Dubbo 3.0
> 
> + Define Dubbo ecosystem
> Currently Dubbo is big and there are many related repos, some of them don't
> have updates for a long time.
> It's better to have a clean understanding here. to define what Dubbo can
> provide and will continually maintain.
> 
> + Roadmap and release plan
> For Dubbo 3.0, when there is a clean picture what it should look like. We
> need a roadmap.
> And also for each version, exclude bug fixes, what kind of feature will
> include and what may include.
> This can help users to know what's happening to Dubbo and what's the next
> step, so they can make better plans for their own stuff, like version
> upgrading.
> 
> + Integration with other project/systems
> My understanding for Cloud Native, there are many great projects in the
> ecosystem. Dubbo is a PRC framework and many of Cloud features can be
> implemented with other projects/systems,
> maybe we can discuss what project/systems can Dubbo work together with,
> maybe for monitoring, service discovery, tracing, router and more.
> 
> Yunkun
> 
> 
> On Thu, Jul 16, 2020 at 7:37 PM Jun Liu <li...@apache.org> wrote:
> 
>> Hi, Folks
>> 
>> I would like to initiate a discussion about Dubbo 3.0.
>> 
>> Recently, I was thinking about the next generation Dubbo, focusing on
>> supporting larger-scale cluster with millions of instances, adapting to
>> cloud native infrastructures, working with Service Mesh, etc.. I also
>> noticed that many developers in the community are also discussing this
>> topic on GitHub and other occasions recently. Most users want to make their
>> Dubbo based micro-services Cloud Native, this requires the change of Dubbo
>> framework itself.
>> 
>> In my mind, the key word of Dubbo 3.0 should be Cloud Native, we should
>> focus on making a plan to create a more Cloud Native friendly RPC
>> framework. Approximately in 2018, the community had a discussion on
>> defining Dubbo 3.0, which is mostly restricted the theme of Reactive
>> Stream. But today, when talking about Dubbo 3.0 again, i think Reactive
>> Stream is still an important topic, but we should think much broader.
>> 
>> I am just trying to give out some of my own thoughts on Dubbo 3.0. Hope to
>> hear more from you.
>> 
>> Jun
>> 
>> 


Re: [DISCUSSION] Define the next generation Dubbo - Dubbo 3.0

Posted by YunKun Huang <ht...@gmail.com>.
hey,

Cloud Native friendly sounds good. but how to define it? What dubbo needs
change to achieve this?

I would like to add more topic for Dubbo 3.0

+ Define Dubbo ecosystem
Currently Dubbo is big and there are many related repos, some of them don't
have updates for a long time.
It's better to have a clean understanding here. to define what Dubbo can
provide and will continually maintain.

+ Roadmap and release plan
For Dubbo 3.0, when there is a clean picture what it should look like. We
need a roadmap.
And also for each version, exclude bug fixes, what kind of feature will
include and what may include.
This can help users to know what's happening to Dubbo and what's the next
step, so they can make better plans for their own stuff, like version
upgrading.

+ Integration with other project/systems
My understanding for Cloud Native, there are many great projects in the
ecosystem. Dubbo is a PRC framework and many of Cloud features can be
implemented with other projects/systems,
maybe we can discuss what project/systems can Dubbo work together with,
maybe for monitoring, service discovery, tracing, router and more.

Yunkun


On Thu, Jul 16, 2020 at 7:37 PM Jun Liu <li...@apache.org> wrote:

> Hi, Folks
>
> I would like to initiate a discussion about Dubbo 3.0.
>
> Recently, I was thinking about the next generation Dubbo, focusing on
> supporting larger-scale cluster with millions of instances, adapting to
> cloud native infrastructures, working with Service Mesh, etc.. I also
> noticed that many developers in the community are also discussing this
> topic on GitHub and other occasions recently. Most users want to make their
> Dubbo based micro-services Cloud Native, this requires the change of Dubbo
> framework itself.
>
> In my mind, the key word of Dubbo 3.0 should be Cloud Native, we should
> focus on making a plan to create a more Cloud Native friendly RPC
> framework. Approximately in 2018, the community had a discussion on
> defining Dubbo 3.0, which is mostly restricted the theme of Reactive
> Stream. But today, when talking about Dubbo 3.0 again, i think Reactive
> Stream is still an important topic, but we should think much broader.
>
> I am just trying to give out some of my own thoughts on Dubbo 3.0. Hope to
> hear more from you.
>
> Jun
>
>