-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
use application name for instance lookup by serviceId #1789
use application name for instance lookup by serviceId #1789
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1789 +/- ##
==========================================
- Coverage 75.38% 75.37% -0.02%
==========================================
Files 203 203
Lines 6240 6241 +1
Branches 781 782 +1
==========================================
Hits 4704 4704
Misses 1196 1196
- Partials 340 341 +1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to make sense to me
I don't think this is a good idea. It's just a default and can be changed. Users have changed it and this would break them. |
@spencergibb wouldnt that be OK in Dalston though? |
I don't think so |
even the handling of application name versus vip address within
Clearly uses application name and not vip address. So basically this code wouldn't give the expected results:
As mentioned,
By default, spring-cloud sets both to |
As soon as you force the change you LOSE the ability to customize the vip. There is something lost in translation between serviceId -> application name/vip, I agree, but I'm against making this breaking change. |
@spencergibb I don't think you do, it's just that
Of course I understand your concerns regarding changing existing behavior but in this case it's pretty clear that the existing behavior isn't the expected behavior and that people relying on the current behavior should rather use To get some more insight, I've just spent some time stepping through the code and it got increasingly clear that they are in fact treated as being equivalent. It might of course be that I'm missing something significant here. If so please let me know if and where I get something wrong. We're using zuul with the standard
So by default
The client name is later set as
At this point, the eureka application name is passed to ribbon as vip address. It's then used in
The translation from application name to vip address should likely have happened in |
@sfussenegger I have marked this "for discussion". I agree it's inconsistent, but almost exclusively in zuul's |
@spencergibb we've been using this stuff for over a year now too and never noticed anything. But I guess that's to be expected as long as you run exclusively spring-cloud services. The only usage of A good starting point for this discussion is probably the documentation of theses things and their usage:
|
@sfussenegger I agree that the best thing to do is document the list you stated above. Care to open a new issue? I think then, this PR can be closed as well. |
@sfussenegger I've been gathering information not documented in the Spring Cloud official manual, and a description of the various identifiers would be very useful. Would you mind taking a crack at that? Based on the feedback I got, my Eureka blog is now one of the most popular sources of Eureka, and I like to believe is helping people. |
@asarkar we finally ended up dropping eureka altogether with #1788 being somewhat the final straw (we now use AWS internal load-balancers in combination with zuul and ribbon instead). so unfortunately it would be quite an effort to get back to a working eureka environment to further explore this. the comments on this PR should be a good starting point though. |
Closing see #1788 (comment) |
fixes #1788