4 ms·
Wow, with L7 routing on path (not just host) this does almost everything I'm using bud+fabio+consul to do. It's like Hystrix+sidecar-HAProxy in one. The one t
by doublerebel 10y ago
Wow, with L7 routing on path (not just host) this does almost everything I'm using bud+fabio+consul to do. It's like Hystrix+sidecar-HAProxy in one.
The one thing I must have is SNI. The docs only have a short blurb [1], does someone know the full status of SNI support?
[1]: https://lyft.github.io/envoy/docs/intro/arch_overview/ssl.html?highlight=sni https://lyft.github.io/envoy/docs/intro/arch_overview/ssl.ht...
EDIT: Also is there any kind of visualization for the resulting network topology? It looks like Envoy should know everything about who is talking to who.
- mattklein123 10y agoCurrently we support SNI for client connections, not for server connections. There is no reason for this, just that we have not needed server-side SNI ourselves yet. Adding server SNI support would be a small change. Please file a GitHub issue and we can look into adding support (or can help you with the patch!).
- mattklein123 10y agoVisualization is going to be a big area of future investment for us. We already have some pretty cool tools internally and obviously lots of dashboards, etc. but we would love to have a dedicated UI for Envoy. If you know any good UI devs who would want to work on this please send them our way. :)
- doublerebel 10y agoThanks for all the info. Any insight into the service discovery issues described in the docs [1]? Many existing RPC systems treat service discovery as a fully consistent process. To this end, they use fully consistent leader election backing stores such as Zookeeper, etcd, Consul, etc. Our experience has been that operating these backing stores at scale is painful. [1]: https://lyft.github.io/envoy/docs/intro/arch_overview/service_discovery.html?highlight=consul https://lyft.github.io/envoy/docs/intro/arch_overview/servic...
- mattklein123 10y agoMainly just years of experience at different companies watching ZK, etcd, etc. fall over at scale and require teams of people to maintain them. We have had zero outages caused by our eventually consistent discovery system with active health checking (knock on wood), and haven't really touched the discovery service code in months. It just runs. I'm not saying that a system using ZK, etc. can't be made to work. It certainly can since many companies do it. It's mostly that I think those solutions are actually making the overall problem a lot more complicated and prone to failure than it has to be.