I'm afraid I cannot agree with this idea. The reason is, clustering is the
fundamental functionality of dubbo. All the cluster strategies existing in
the main repository are in fact essential strategies, but later if the
community has fresh idea on some fancy/more complex strategies not
applicable to everyone, I think they should be introduced in dubbo eco
system.

My suggestion is leave cluster module as is, for now at least.

Thanks,
-Ian.

On Thu, Aug 23, 2018 at 12:02 AM Kimm King <[email protected]> wrote:

> Ian& Wangxin & Kirito:
>
> I  think we should consider that it's time to separate dubbo-cluster
> project into some subprojects such as loadbalance\router and so on after
> moving them to dubbo repo.
>
>
>
> KimmKing([email protected])
>  == In me the tiger sniffs the rose. ==
>
>
> From: Ian Luo
> Date: 2018-08-18 00:32
> To: dev
> Subject: Re: [Dubbo- support tag router feature] Add a new Router
> implement -- TagRouter
> very nice feature the community keeps asking, I will look into it.
>
> On Fri, Aug 17, 2018 at 2:45 PM 徐靖峰 <[email protected]> wrote:
>
> > this topic is related to
> > https://github.com/apache/incubator-dubbo/pull/2228
> >
> > What is the purpose of the change
> >
> > Support tag router feature for dubbo.
> >
> > some pain points
> >
> >
> >
> > fact1: some applications changed at the same time in different
> branch,like
> > A,B,C.
> >
> > fact2: some applications didn't change ,but deploy repeatedly,like D,E.
> >
> > fact3: if a new feature need to be tested, all 5 application need to be
> > deployed.
> >
> > fact4: isolation by feature is not friendly to parallel development.
> >
> > use tag
> >
> >
> >
> > fact: changed applications are incremental deployment
> >
> > some cases
> >
> >
> >
> > usage
> >
> > consumer
> > RpcContext.getContext().setAttachment("request.tag","red");
> > i suggest you can use filter or SPI to set this attachment, notice that
> > RpcContext is bound to Thread.
> >
> > provider
> >     @Bean     public ApplicationConfig applicationConfig() {
> >  ApplicationConfig applicationConfig = new ApplicationConfig();
> >  applicationConfig.setName("provider-book");         // instruct tag
> > router         Map<String,String> parameters = new HashMap<>();
> >  parameters.put(Constants.ROUTER_KEY, "tag");
> >  applicationConfig.setParameters(parameters);         return
> > applicationConfig;     }
> > Brief changelog
> >
> > add unit property for dubbo.xsd.
> >
> > add TagRouter,TagRouterFactory.
> >
> > add SPI statement for adding TagRouter automatically.
> >
> > fix a small bug(may be not) in
> > org.apache.dubbo.registry.integration.RegistryDirectory#route,exclude
> > runtime routers, avoid to filter some runtime invokers.
> >
> > Verifying this change
> >
> > Here is more detail about Unit Test:
> > org.apache.dubbo.rpc.cluster.router.tag.TagRouterTest
> > I have verified that the unit test has been correct and passed.
> >
> > Here is more detail about a Integration Test:
> > clone the repository
> > https://github.com/lexburner/Dubbo-Sample-TagRouter.git,can see the
> route
> > tag feature.
> >
> > Follow this checklist to help us incorporate your contribution quickly
> and
> > easily:
> >
> >  Make sure there is a GITHUB_issue filed for the change (usually before
> > you start working on it). Trivial changes like typos do not require a
> > GITHUB issue. Your pull request should address just this issue, without
> > pulling in other changes - one PR resolves one issue.
> >
> >  Format the pull request title like [Dubbo-XXX] Fix UnknownException when
> > host config not exist #XXX. Each commit in the pull request should have a
> > meaningful subject line and body.
> >
> >  Write a pull request description that is detailed enough to understand
> > what the pull request does, how, and why.
> >
> >  Write necessary unit-test to verify your logic correction, more mock a
> > little better when cross module dependency exist. If the new feature or
> > significant change is committed, please remember to add integration-test
> in
> > test module.
> >
> >  Run mvn clean install -DskipTests & mvn clean test-compile
> > failsafe:integration-test to make sure unit-test and integration-test
> pass.
> >
> >  If this contribution is large, please follow the Software Donation
> Guide.
>

Reply via email to