HashiCorp Consul 1.2: Service Mesh
hashicorp.com
HashiCorp Consul 1.2: Service Mesh
1–10 of 50 posts
Re: HashiCorp Consul 1.2: Service Mesh
#2Re: HashiCorp Consul 1.2: Service Mesh
#3Could someone care to elaborate what are the main differences between Consul and Istio? What would be the primary reasons to choose one service mesh over the other?
I hope it helps
Re: HashiCorp Consul 1.2: Service Mesh
#4Traefik 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! You can also do other dynamic configuration of Traefik, e.g. by publishing a service via a REST API, via Kubernetes, etc.
I've struggled for years to get Nginx configured correctly, and it's been frustrating to have no alternative. In Nginx, dynamic binding is a premium feature. 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.
Traefik's still pretty young. Notably, the docs are shit. But the application is well-designed, and it compiles as a single self-contained binary (as it's written in Go).
Re: HashiCorp Consul 1.2: Service Mesh
#5Could someone care to elaborate what are the main differences between Consul and Istio? What would be the primary reasons to choose one service mesh over the other?
Re: HashiCorp Consul 1.2: Service Mesh
#6Could someone care to elaborate what are the main differences between Consul and Istio? What would be the primary reasons to choose one service mesh over the other?
Consul is not a service mesh. At its core it's a distributed key-value store which is commonly used for service discovery, configuration management and healthchecks.
Re: HashiCorp Consul 1.2: Service Mesh
#7If 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!…
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.
Re: HashiCorp Consul 1.2: Service Mesh
#8Re: HashiCorp Consul 1.2: Service Mesh
#9If 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!…
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.
It's super fun with haproxy :(
Re: HashiCorp Consul 1.2: Service Mesh
#10If 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!…
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.
Just make sure consul-template never writes bad config as that will stop everything reloading. That's bit me a couple of times.