Hi, All I have just merged dev-metadata branch into master, from now on, the master branch will work as the develop and release codebase of v2.7.0. Branch dev-metadata does not need to be kept anymore, I will delete dev-metadata later today if there’re no more PRs come to it.
Jun > On Dec 21, 2018, at 11:37 AM, jun liu <[email protected]> wrote: > > Two more things to mention: > > 1. I am thinking of merge this dev-metadata branch back to the master. Both > these two branches have the same version 2.7.0-SNAPSHOT and they together > consist of v2.7’s release candidates. While they are evolving at the same > time concurrently, conflicts keep happening. I have been kept merging the > master branch to dev-metadata to try to avoid conflicts to the most extend > during the development of dev-metadata. Now, since the changes in > dev-metadata are stable enough, at least it won’t be a block for the > development in master (which is also the biggest concern why we created this > new branch), I think it’s time for us to merge the changes back and work on > the unified master branch. > > 2. Is there any plan for the release of OPS? Most of the new features > introduced in v2.7 are service governance related abilities and most users > have get used to using Dubbo OPS to do interoperability with their Dubbo > services. Thus I think it would be great if an OPS version supporting these > features can be released at the same time as v2.7 or slightly after it . > @Minxuan @Majinkai, I know you guys are working on OPS project, any news to > update? > > Jun > >> On Dec 21, 2018, at 10:35 AM, jun liu <[email protected] >> <mailto:[email protected]>> wrote: >> >>> 1. Prioritization of centralized configuration >> >> Now, the centralized configuration or externalized configuration is >> implemented to has the highest priority by default. For flexible concerns, a >> switch is designed and opened to users so that they can override the default >> value, for example, you can use the following JVM property to give >> centralized configuration a lower priority than the local one: >> dubbo.configCenter.highestPriority=false. >> >>> 2. The logic of the route is more complicated, and the compatibility with >>> the original low version is guaranteed. >> >> When saying of complexity, I guess you mainly refer to the routing module, >> because this module is one of the most evident parts that has changed in >> this version and is also newly introduced. Its main purpose is to improve >> the performance of the runtime. After all, there will be some performance >> loss when routing is executed for address filtering every time an RPC is >> executed. >> However, I agree we should be really careful about this cache part since it >> works as an crucial path on the RPC wire. Some possible drawbacks I can come >> up with it now are: excessive resource usage, priority guarantee of routers >> in chain, etc. I think we can discuss more about the technical details of >> this part, give it more test and then decide whether to release it this time >> or wait until it’s mature enough. >> >>> 3.Tag routing has been modified, how is the compatibility with the original? >> >> It has full backward compatibility with the original implementation with >> only the supporting of of DynamicConfiguration added. >> >>> 4. How does the Environment clear responsibility? It is best to have an >>> independent description. >> >> Sorry, I don’t understand this one. Basically, you can think Environment as >> the counterpart of that in Spring. I agree we should add a document >> describing the design purpose and how to use it. >> >> Jun >> >>> On Dec 14, 2018, at 12:26 PM, victory <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> All of this features are the biggest concert in the community. >>> I have some questions: >>> 1.中心化配置的优先级 >>> 2.路由的逻辑比较复杂,和原来低版本的兼容性怎么保证 >>> 3.Tag路由改造了,和原来的兼容性怎么样? >>> 4.Environment这个东西是怎么明确职责的?最好能有个独立的说明。 >>> ---------- >>> 1. Prioritization of centralized configuration >>> 2. The logic of the route is more complicated, and the compatibility with >>> the original low version is guaranteed. >>> 3.Tag routing has been modified, how is the compatibility with the original? >>> 4. How does the Environment clear responsibility? It is best to have an >>> independent description. >>> >>> >>> jun liu <[email protected] <mailto:[email protected]>> 于2018年12月7日周五 >>> 下午8:11写道: >>> >>>> Hi, All >>>> >>>> I’ve just posted some blogs[4] on Github issues relating to the design >>>> principles and implementations of V2.7.0, the content are based mainly on >>>> my own understanding of the 2.7.0 codebase (hosted on branch >>>> dev-metadata[1]) and the previous discussions[2][3]. >>>> >>>> Recently, I spent plenty of my spare times on 2.7.0, mainly focusing on >>>> metadata refactoring, I am happy to see that v2.7.0 is on a right direction >>>> to meet community requirements and keeps evolving. The main changes or >>>> features already included in v2.7.0 branch are: >>>> >>>> * Config Center: Zookeeper, Apollo, Nacos >>>> * Externalized Configuration >>>> * Service governance enhancement: dynamic configuration & routing rule >>>> * Repackage to 'org.apache.dubbo' >>>> * Java 8 support >>>> * Async programming support >>>> >>>> Most of the features above have been mentioned or discussed on the mailing >>>> list or Github issues days or months ago. But during the design and coding >>>> process, more details come up that need to be further discussed and >>>> decided. The design principles and implementations on v2.7.0 branch now are >>>> far from the the final decision, they may be not the best choice or even >>>> turn to be unreasonable, so you can think them as a prototype >>>> implementation provided for your reference. Now, we need to know your >>>> opinions on v2.7.0, please help to review the designs and codes, whenever >>>> you have better ideas or suggestions, please don’t hesitate to let the >>>> community know. >>>> >>>> FYI: If you want to know more implementation details and try to read the >>>> codes or commits directly, you may find it hard to follow, because there’re >>>> too much file changes in there. So I would suggest you read the summaries I >>>> wrote in the blogs first and then dive into the code related to the part >>>> you interest one by one. >>>> >>>> 1. https://github.com/apache/incubator-dubbo/tree/dev-metadata >>>> <https://github.com/apache/incubator-dubbo/tree/dev-metadata> >>>> 2. https://github.com/apache/incubator-dubbo/issues/2030 >>>> <https://github.com/apache/incubator-dubbo/issues/2030> >>>> 3. https://github.com/apache/incubator-dubbo/issues/2341 >>>> <https://github.com/apache/incubator-dubbo/issues/2341> >>>> 4. https://github.com/apache/incubator-dubbo/issues/2919 >>>> <https://github.com/apache/incubator-dubbo/issues/2919> >>>> >>>> Jun >>>> >>>> >>> >>> -- >>> >>> Best Regard! >>> cvitory >> >
