Hi Yuneng, Sounds interesting. I am especially interested in reactive programming support. Pls. go ahead to try implement it on 3.x branch.
Thanks, -Ian. On Thu, Jan 17, 2019 at 11:03 AM yuneng xie <[email protected]> wrote: > Hi folks, > > I agreed with Ian Luo on the improvement list. I also got some idea in my > mind. I'd just share with you two points below in detail which i'm most > interested in right now. > > 1. Upgrade the core abstraction "Invoker", which works in sync mode, to an > abstraction works in async mode. then we can construct > InvocationChain/FilterChain that works in async mode. A core abstraction > works in async mode would simplify the sync/async logic. We no longer need > to repeat the logic about sync-mode/async-mode in each ProtocolInvoker. > ProtocolInvoker could concentrate on async logic and we could handle > sync-mode invoke all in once by wrapping the AsyncInvocationChain into a > SyncInvocationChain. > > 2. Support using stream-value (Fowable, Flux...) as param/returnType. > really a nice feature. > > Please let me known your opinion on my points. I'm also glad to just give > it a try and raise a pr. > > > > Ian Luo <[email protected]> 于2019年1月10日周四 下午6:00写道: > > > Hi folks, > > > > Finally we managed to ramp down version 2.7.0 development, and hopefully > we > > can start the vote in the early of the next week. But the main purpose of > > this email is not a release announcement. Instead, since we now have > > bandwidth, let's consider and discuss what we should focus out from many > > stuff we want to do. For example, we may focus more on issue and pull > > request on GitHub, or we may plan 2.7 minor releases immediately after we > > release 2.7.0. But today I'd like to bring up one longer term plan which > > I'm now caring most, that is, how we define what version 3.0 is? and when > > can we get start on it? In my opinion, we need to start it right from > this > > moment. > > > > I recalled Liujie Qin (@liujieqin) initialed the discussion on the same > > topic [1] in July this year. I summarize his points here if you are too > > impatient to read through the contents of his email :p: > > > > 1. Need to enhance the current extension mechanism > > 2. Need to enhance the code base for better maintenance > > 3. Need to support async > > 4. Need to decouple registry server and config server > > 5. Need to support Java8 and above so that we can use advanced features > in > > Dubbo's core > > > > I agree with most of his points in this good proposal. > > > > Here I'd like to initial a discussion on how we define Dubbo 3.0, or in > the > > other word, how do the community expect from Dubbo 3.0. In my opinion, I > > think we need to answer the following questions in this major release: > > > > - Today the boundary between messaging and remoting call gets blur. We > may > > need to consider to support streaming at the protocol level. > > - Reative programming and its fundamental FP start to get adopted. We > > should consider to support it. > > - Dubbo should be redesigned to support async better, and treats async as > > the first class citizen. We do support async feature in 2.7.0 release but > > it is not so perfect. > > - Micro-services has been widely adopted. How Dubbo works seamlessly with > > micro-services becomes a question mark. We need to look into the inter-op > > between Dubbo and micro-services's registry server/config server. The > > support on separating registry server and config server in 2.7.0 release > is > > a good start, but there are still lots of further works remaining with no > > doubt. > > - Once we conquer seamless micro-services support, we still need to take > > one step further to think about K8S integration. After all, K8S and > service > > mesh built above it are now considered the best way for micro-services > > deployment. > > - How we define mini-dubbo, or phrase in another way, what the minimal > > feature set we should define for Dubbo framework. The reason behind this > > is, it is very helpful for developing more language supports from the > > community. This also means, we need to modularize Dubbo further, to make > it > > a reference implementation for other languages. > > > > In short, I suggest we need to focus on streaming protocol, Rx/FP, native > > async, micro-services support, refactor/modularize areas. Of course, > there > > are more I don't mention in this email, for examples: how we make Dubbo > > more resilient? how we support HTTP/2? and more. > > > > Pls. let me know your opinion on what I and Liujie proposed, and share > your > > thought on what kind of features really matter to you. > > > > Thanks, > > -Ian. > > > > > > 1. Proposal for Dubbo 3.0 from [email protected] on > > [email protected] > > >
