Skip to content
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

Switch to Consul as default service discovery mechanism #19109

Closed
10 tasks done
deepu105 opened this issue Jul 8, 2022 · 17 comments
Closed
10 tasks done

Switch to Consul as default service discovery mechanism #19109

deepu105 opened this issue Jul 8, 2022 · 17 comments
Assignees
Labels
$$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ theme: JDL theme: kubernetes theme: microservice v8 $500 https://www.jhipster.tech/bug-bounties/
Milestone

Comments

@deepu105
Copy link
Member

deepu105 commented Jul 8, 2022

Since eureka is kind of unmaintained and JHipster registry is deprecated and JHCC is unmaintained, it makes sense to make Consul the default service discovery mechanism in JHipster.

@deepu105 deepu105 added $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ $300 https://www.jhipster.tech/bug-bounties/ and removed area: triage theme: undefined labels Jul 8, 2022
@deepu105 deepu105 self-assigned this Jul 8, 2022
@pascalgrimaud
Copy link
Member

Agree with this change

@deepu105 deepu105 mentioned this issue Aug 1, 2022
6 tasks
@gmarziou
Copy link
Contributor

gmarziou commented Aug 2, 2022

It's a bit sad to replace Eureka by a proprietary solution that offers a very expensive Enterprise version.
Personally, I think that Spring Cloud Zookeeper would have been a nicer solution.

@deepu105
Copy link
Member Author

@gmarziou for the moment, its imporatnt to provide a stable option as default. I'm also not happy with providing Consul as default but unless we implement a replacement with Spring Cloud Zookeeper or something we should provide Consul as default. We can switch it back when we have something as replacement. WDYT?

@deepu105
Copy link
Member Author

@gmarziou i'm not very familiar with zookeeper, do you think we can replace Eureka with Spring cloud zookeeper for JH Registry? if so can you create a ticket with some details so we can put a bounty on it and if it gets done before v8, we can make that the default

@gmarziou
Copy link
Contributor

gmarziou commented Aug 10, 2022

Consul as a short term solution is perfect.

I don't have any experience with Zookeeper itself, I only know about it through other tools like Kafka. Few 3rd party UI projects exist for it. Hazelcast can use it.

So, on paper, it looks like a good Eureka replacement.
But at same time, when I look at the git repos of jhipster-registry and jhipster-control-center, it seems that they are abandoned.

So maybe the right approach is to integrate only the discovery client and forget about providing a server and consider that service discovery should be done by the infra structure (Consul, Kubernetes, AWS, Azure, ...).

The cool thing about Consul and Zookeeper is that we don't need a cloud account to run a microservices architecture, we can just run them locally using docker-compose.

@deepu105
Copy link
Member Author

@gmarziou yes thats the main reason why I proposed making consul the default. JHipster registry can still be used (but IMO we should remove it as its unmaintained, maybe by offering a zookeeper version or something) so are you ok to proceed with this change (making consul default) for v8?

@mshima
Copy link
Member

mshima commented Aug 11, 2022

It's possible to drop consul-loader docker image?

@deepu105
Copy link
Member Author

deepu105 commented Aug 11, 2022

@mshima not at the moment as its used to load the shared configuration for the microservices. If we drop it, we need to find an alternative for that

@deepu105 deepu105 added $500 https://www.jhipster.tech/bug-bounties/ and removed $300 https://www.jhipster.tech/bug-bounties/ labels Feb 14, 2023
@deepu105
Copy link
Member Author

increased the bounty as its way too much work

@mshima
Copy link
Member

mshima commented Mar 14, 2023

Since consul is the default, would be nice to have m1 support at consul-loader.
I tried to update consul loader, but the dependencies are unmaintained for a long time.

@deepu105
Copy link
Member Author

deepu105 commented Mar 14, 2023 via email

@mshima
Copy link
Member

mshima commented Mar 17, 2023

Sorry. Apple silicon (m1). consul-loader image runs in compat mode.

@deepu105
Copy link
Member Author

deepu105 commented Mar 17, 2023 via email

@deepu105
Copy link
Member Author

@colameo I don't see anything to update in JHipster IDE for this. Let me know if you think otherwise

deepu105 added a commit to jhipster/jhipster-sample-app-microservice that referenced this issue Aug 19, 2023
deepu105 added a commit to jhipster/jhipster-sample-app-gateway that referenced this issue Aug 19, 2023
@deepu105
Copy link
Member Author

bounty claimed (after a year 🤣 ) https://opencollective.com/generator-jhipster/expenses/156618

@pascalgrimaud
Copy link
Member

@deepu105 : approved. Can this ticket be closed?

@deepu105
Copy link
Member Author

deepu105 commented Aug 19, 2023

@pascalgrimaud thanks. i'll close it once the docs PRis merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
$$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ theme: JDL theme: kubernetes theme: microservice v8 $500 https://www.jhipster.tech/bug-bounties/
Projects
None yet
Development

No branches or pull requests

4 participants