Steeltoe icon indicating copy to clipboard operation
Steeltoe copied to clipboard

Service discovery endpoint - online/offline service instances

Open jkonicki opened this issue 6 years ago • 9 comments

Provide Blue/Green deployments through endpoint. Use the endpoint to set registered instances to offline. For Eureka and Consul.

jkonicki avatar Oct 07 '19 14:10 jkonicki

This functionality is provided in Spring via the service-registry endpoint: https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-commons/src/main/java/org/springframework/cloud/client/serviceregistry/endpoint/ServiceRegistryEndpoint.java

TimHess avatar Jan 08 '20 16:01 TimHess

@TimHess I'd like to tackle this one

cesinhaugusto avatar Jan 16 '20 12:01 cesinhaugusto

Sounds good, have at it!

TimHess avatar Jan 16 '20 15:01 TimHess

@cesinhaugusto We are happy to have the help. Let us know if there are any questions or if you have any issues getting started on this task. Thanks.

jkonicki avatar Jan 22 '20 17:01 jkonicki

@jkonicki Good to know that, because I'll probably need it a lot hahaha. I took some time to study Steeltoe a little bit more and get to know the project better in order to be able to make meaningful contributions.

In this specific issue, I'd like to ask you guys if the goal is to just create an Endpoint class, similar to the Spring one that @TimHess mentioned above, and add it to the EurekaBase library.

Initially, I thought that the goal was to prepare Steeltoe to completely handle Blue/Green deployments, but after further research, I understood this is responsibility of the platform, not the library. Am I correct?

cesinhaugusto avatar Jan 28 '20 14:01 cesinhaugusto

Yeah, this is basically "make blue/green relatively easy or at least straightforward" but not like a 360 degree solution, so some form of platform or external tooling support would be expected.

I didn't get extremely far in exploratory work here, but I was expecting the bulk of the work to be done in Management in the form of a service-registry actuator... Ideally there would be little to no work required in either of the Discovery client libraries, but I'm not positive that's the case. IServiceRegistry has the methods needed, but it looks like it's only used by Consul at the moment

TimHess avatar Jan 28 '20 16:01 TimHess

I see. This is a little more complex than I anticipated then. I'll learn more about Management and try to come up with a draft for this and return to get your opinion/suggestions.

cesinhaugusto avatar Jan 28 '20 16:01 cesinhaugusto

Investigation will happen in m1 release, currently unclear if implementation will happen at the same time

TimHess avatar Feb 27 '24 15:02 TimHess