-
Notifications
You must be signed in to change notification settings - Fork 26.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DISCUSS] Introduce TagRouter, a new route feature. #2341
Comments
We should discuss issues in mail list. |
Since the feature has been merged to master, I'll close this issue. |
Have been supported in version 2.6.4? |
Hi @lexburner,the Dubbo execute order is routers-->filters, so I wonder how the tag works via a filter without hardcoding when first call a provider. The method |
Hi, community.
This issue is related to this pull request. A simple and incomplete
TagRouter
implementation has been merged into dubbo v2.7.0-snapshot.In this issue,i will introduce what problem did it solve,while i want to refer to your opinion and proposal, decide the final behavior ofTagRouter
.What is TagRouter
TagRouter is a new implement of Router interface, other exsiting Router :
ConditionRouter
,ScriptRouter
,FileRouter
.It makes any request can carry a
request.tag
and any service belong to a certaintag
Tag will affect the default route behavior.
Some pain points in the past
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.
Benefited from tag
we consider the RED,YELLOW,BLUE as tagged service , the grey block as origin service or normal service.
The benefit we have is that we have reduced a lot of overhead about application deployment. Only changed applications need deploy incrementally .
A vivid example
Usage
consumer
I suggest you can use filter or SPI to set this attachment, notice that RpcContext is bound to Thread.
provider
Need more discussion
more suggestions are welcome to make.
The text was updated successfully, but these errors were encountered: