Live data from Hacker News

HashiCorp Consul 1.2: Service Mesh

hashicorp.com

11–20 of 50 posts

Re: HashiCorp Consul 1.2: Service Mesh

#11
post #9

Earlier quoted context omitted.

In the free version, you have to rewrite the config and restart the service. That's not fun if you expect services to come and go as part of your natural life-cycle If that's happening super-frequently I could see the problem, but in practice I'd expect you to use `consul-template` and issue a `reload` to nginx to make it reload configurations with no downtime. This is the solution I've used and it works pretty well.

Old workers stay around until all the connections for them or their grace period has expired. So i hope you're not too close to the resource limit to handle many generations of workers sticking around. also if you have many services behind a single port with path based routing and do a deploy the connection will stick around on the old workers until everything dies. It's super fun with haproxy :(

Kind of bad, but what's the alternative? Cut everyone off on reload?

Re: HashiCorp Consul 1.2: Service Mesh

#13
post #11
post #9

Earlier quoted context omitted.

Old workers stay around until all the connections for them or their grace period has expired. So i hope you're not too close to the resource limit to handle many generations of workers sticking around. also if you have many services behind a single port with path based routing and do a deploy the connection will stick around on the old workers until everything dies. It's super fun with haproxy :(

Kind of bad, but what's the alternative? Cut everyone off on reload?

Have a better proxy that doesn't need to create a new generation of workers for config changes.

Like traefik or envoy or nginx when you pay for it or use the lua shit to do backend discovery (haproxy also has lua shit iirc)

Re: HashiCorp Consul 1.2: Service Mesh

#16

Earlier quoted context omitted.

In the free version, you have to rewrite the config and restart the service. That's not fun if you expect services to come and go as part of your natural life-cycle If that's happening super-frequently I could see the problem, but in practice I'd expect you to use `consul-template` and issue a `reload` to nginx to make it reload configurations with no downtime. This is the solution I've used and it works pretty well.

>This is the solution I've used and it works pretty well. Just make sure consul-template never writes bad config as that will stop everything reloading. That's bit me a couple of times.

Can't you just run a nginx -t to run the config test and see if it passes before you reload?

Re: HashiCorp Consul 1.2: Service Mesh

#17

If you're using Consul for web services, I really recommend the Traefik web server: https://traefik.io Traefik replaces Nginx: it's the reverse proxy that maps the incoming requests to your various services, which are advertising on some arbitrary localhost port. The amazing thing is that Traefik integrates with Consul: you only need to point it to your Consul endpoint, and it can automatically publish your services!…

We tried Traefik, but ultimately went with Fabio, which also integrates with Consul nicely; plus it does tcp based stuff for unencrypted gRPC services we shuffle around (which at the time, traefik didn't have.)

Re: HashiCorp Consul 1.2: Service Mesh

#18
post #12

I've been using Consul as part of micro ( https://github.com/micro/micro ) for 3 years now. It's a great mechanism for service discovery. This additional feature is going to be seamlessly integrated. They've done a fantastic job of pushing forward Consul as a whole.

[deleted]

Re: HashiCorp Consul 1.2: Service Mesh

#19
post #8

If you want to try the new Connect feature from Consul yourself, we've put up an interactive tutorial on our Instruqt learning platform, together with the nice folks at HashiCorp: https://play.instruqt.com/hashicorp/tracks/connect

:-/ Can I use this without signing up? I would bet your bounce rate is pretty high.
Post reply on HN