jhipster / generator-jhipster

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
https://www.jhipster.tech
Apache License 2.0
21.54k stars 4.02k forks source link

Explore using Zookeeper instead of Eureka for JHipster Registry #19401

Open deepu105 opened 2 years ago

deepu105 commented 2 years ago

Explore using Zookeeper via the Spring Cloud Zookeeper integration. On paper it seems like all the features that were offered by JHipster Registry can be provided by this.

This ticket is for exploration and a possible POC

Some notable points from the docs

Related to #19109

deepu105 commented 2 years ago

cc @gmarziou @PierreBesson @pascalgrimaud @mraible

PierreBesson commented 2 years ago

I don't think this would be hard to replace Eureka by Zookeeper as the discovery integration is handled by the Spring Cloud abstraction layer. It might actually be a good choice for long term support as Zookeeper is well maintained and supported by the Apache Foundation. Although, if we go this route, it will really be going full circle. As the oldest service discovery systems I have known about were based on Zookeeper and Eureka was supposed to be the newer/better/easier way to do service discovery. Ping @juliensadaoui, you might have an opinion on this.

mraible commented 2 years ago

This comment seems relevant to this discussion:

Eureka is not going away any time soon BTW

https://twitter.com/spencerbgibb/status/1557718706033147905

atomfrede commented 2 years ago

Zookeeper works well, we used it as configuration service. Solr uses it for discovery and configuration. Not sure why we should replace eureka. Both are quite mature with less frequent changes, but when it comes to central infrastructure I guess thats more of a pro argument :)

PierreBesson commented 2 years ago

The problem with keeping Eureka support is that we have deprecated our own Eureka server app, the JHipster Registry 6 months ago and there are no alternative that I know of to get a prepackaged Eureka server. I did a search on docker hub and the official eureka server docker image is 7 years old ! https://hub.docker.com/search?q=eureka

deepu105 commented 2 years ago

For me JHipster registry would be good enough if Eureka was well maintained. Currently that doesn't seem like the case. The last commit to the repo was a year ago and there are even some security issues open. I personally would love to have JHipster registry back in its full glory (with the admin dashboard and stuff)

On Thu, 11 Aug 2022, 10:06 pm Pierre Besson, @.***> wrote:

The problem with keeping Eureka support is that we have deprecated our own Eureka server app, the JHipster Registry 6 months ago and there are no alternative that I know of to get a prepackaged Eureka server. I did a search on docker hub and the official eureka server docker image is 7 years old ! https://hub.docker.com/search?q=eureka

β€” Reply to this email directly, view it on GitHub https://github.com/jhipster/generator-jhipster/issues/19401#issuecomment-1212436102, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIOKFY3UM526LIZM46OQH3VYVMMHANCNFSM56IBF7FQ . You are receiving this because you authored the thread.Message ID: @.***>

atomfrede commented 2 years ago

Would it be enough to use the spring eureka server application?

gmarziou commented 2 years ago

@atomfrede it's just a spring boot application with spring-boot-eureka-starter, similar to what the jhipster-registry is but without any UI. So if your idea is to use this starter as a replacement for jhipster-registry, yes it can work if you don't use other features, you just need a pom and one class to build it.

The benefit from using this starter is that Spring team updates vulnerable dependencies (e.g. xstream, jackson, ...) and so the CVEs that @deepu105 has seen in Netflix eureka core project are fixed in the starter, this can work forever as long as there is no breaking changes in dependencies or as long as there's no vulnerability in eureka core itself.

atomfrede commented 2 years ago

Just came across this baeldung post, it looks like there is some kind of ui https://www.baeldung.com/spring-cloud-netflix-eureka. For sure less powerful than the jhipster registry, but better than nothing.

narendracode commented 2 years ago

I integrated Zookeeper using curator in one of my blockchain based projects. If that's something in option then I can help with it.

cbornet commented 1 year ago

I work in the same team as the Apache Curator PMC chair if that can help πŸ˜‰ (he's my manager)

eolivelli commented 1 year ago

Apache ZooKeeper and Apache Curator are stable, well maintained and used by many small and huge companies in the world (Facebook, Twitter, Apple....).

I am not aware of the usecases here, if you need something for service discovery and configuration management I think that supporting ZK and Curator will be a good choice. I will be happy to help at least with reviews.

deepu105 commented 1 year ago

I dont think I'll have the time to explore this anytime soon, so if someone wants to do it, please feel free to explore

Thanks & Regards, Deepu

On Sat, Nov 26, 2022 at 11:57 AM Enrico Olivelli @.***> wrote:

Apache ZooKeeper and Apache Curator are stable, well maintained and used by many small and huge companies in the world (Facebook, Twitter, Apple....).

I am not aware of the usecases here, if you need something for service discovery and configuration management I think that supporting ZK and Curator will be a good choice. I will be happy to help at least with reviews.

β€” Reply to this email directly, view it on GitHub https://github.com/jhipster/generator-jhipster/issues/19401#issuecomment-1328024621, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIOKF45DGRIYVBE6HDCF2TWKHUKPANCNFSM56IBF7FQ . You are receiving this because you were mentioned.Message ID: @.***>