Comments (4)
Looking at the Go API client it seems like they're against this:
If they end up adding this to the Go client I'd consider replicating the functionality here, but I think it's better to just follow their lead around how API clients should work.
It seems like you're best bet is to 1) put consul behind a load balancer or 2) handle the failover logic in your application.
from node-consul.
Sorry, I probably didn’t make myself clear.
I was proposing for your client to have one connection to one Consul instance from the list.
Only if that instance goes down or is unavailable, the client should select another Consul instance from the list.
In every case, only one connection exists at the same time from the client to a Consul instance.
from node-consul.
Yeah, that's what I understood you to mean.
What "down or ... unavailable" means is pretty complicated, and the experience is going to be bad in all but the most trivial cases (e.g. DNS doesn't resolve, DNS times out, HTTP port not open, HTTP times out, TLS certificate invalid, Consul no longer a member of the cluster, etc...).
If you have a definition of what down or unavailable means to you it should be pretty easy to create a wrapper for the client to handle those cases. If you don't want to do that setting up a load balancer is probably going to be the most reliable solution.
from node-consul.
Just read the comment on the Consul thread in detail, and I think I understand better now.
Seems like the recommendation is to connect the the local Consul agent by default. Makes sense and should cover my use-case.
Closing this issue.
from node-consul.
Related Issues (20)
- access to keys response HOT 3
- TypeError: consul_1.default is not a constructor HOT 1
- TypeScript Support for consul.query HOT 1
- There is no accessible history.md or changelog.md file HOT 1
- Consul queries providing `tag` are deprecated HOT 2
- Long Polling index should be verified > 0 after initial response
- Reset index of watch job if index ever decreases HOT 1
- Can't invoke "new Consul()" HOT 1
- Can't invoke "new Consul()" constructor in typescript app HOT 1
- Release docs? HOT 4
- Typescript support for client.watch HOT 1
- Typescript suppor for grpc healthcheck's HOT 1
- Add Typescript support HOT 2
- Grype scanner found all this vulnerabilities in the library CVE-2018-25046, CVE-2020-13250, CVE-2021-38698, CVE-2022-40716, CVE-2020-7219, CVE-2020-28053, CVE-2021-3121, CVE-2021-37219 HOT 1
- support for kv.List HOT 2
- Don't set x-consul-token if it's undefined
- how to watch service?
- Grpc Check register request ignores `tls_skip_verify` HOT 4
- Question about the usage of "end" function in watch.js HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-consul.