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

Reply via email to