Live data from Hacker News

Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy

envoyproxy.github.io

21–24 of 24 posts

Re: Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy

#21
post #9

Last I looked, envoy is fantastically hard to build. Have fun downloading, building and installing all these yourself: https://envoyproxy.github.io/envoy/install/requirements.html

FWIW, I packaged Envoy for NixOS in an evening: https://github.com/NixOS/nixpkgs/blob/dab3272f47f13c2a7442e3...

That nets you

   $ nix-build -A envoy
... and then you're done. Of course, we have a CI server that builds our packages regularly, so it's likely you wouldn't even need to build from source (though you certainly could, if desired).

Re: Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy

#22

Earlier quoted context omitted.

I am using docker swarm and I just use overlay network to communicate with other sevices and ngnix on the edge. I am trying to understand where this fits into the picture. Any thoughts ?

Envoy/Istio are designed to move logic out of your apps and into the middleware. For example, say your app A makes an HTTP request to app B and app B times out. Ordinarily app A has to build in retry logic (with expontential backoff to avoid dogpiling). Fine if you have a single app, but if you have a dozen microservices, that's a lot of duplicated code. The solution is to let a proxy handle it for you. Instead of A…

This was awesome explanation, I instantly got it. This should be on their homepage.

Thank you.

Re: Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy

#23
post #8

The docs are pretty light on the grpc web feature. Is there a sample project anywhere that demos how to do this from the browser?

I am converting my proto to typescript with https://github.com/improbable-eng/grpc-web and until recently also used their go server library. That meant my grpc servers were listening on 2 ports, gRPC and gRPC-web. I since replaced the gRPC-web part with envoy. Works fine together with the gRPC-web typescript. The gist should give you an idea how to set up a small example. https://gist.github.com/codesuki/f0514368a30b483058007f5fe38...

Re: Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy

#24

Earlier quoted context omitted.

I am using docker swarm and I just use overlay network to communicate with other sevices and ngnix on the edge. I am trying to understand where this fits into the picture. Any thoughts ?

Envoy/Istio are designed to move logic out of your apps and into the middleware. For example, say your app A makes an HTTP request to app B and app B times out. Ordinarily app A has to build in retry logic (with expontential backoff to avoid dogpiling). Fine if you have a single app, but if you have a dozen microservices, that's a lot of duplicated code. The solution is to let a proxy handle it for you. Instead of A…

Thanks a lot, you have explained this very well. Being able to explain something this well and so understandably means you really understand what is going on too.
Post reply on HN