github.com/anycable/anycable-go@v1.5.1/etc/envoy/Readme.md (about) 1 # Using AnyCable-Go with Envoy 2 3 **NOTE:** The example configuration works with v1.16, but no longer valid for the latest versions of Envoy. PRs are welcomed! 4 5 [Envoy](https://www.envoyproxy.io) is a modern proxy service which support HTTP2 and gRPC. 6 7 We can use Envoy for load balancing and zero-disconnect deployments. 8 9 ## Running an example 10 11 Launch 2 RPC servers: 12 13 ```sh 14 # first 15 bundle exec anycable --rpc-host="0.0.0.0:50060" 16 17 # second 18 bundle exec anycable --rpc-host="0.0.0.0:50061" 19 ``` 20 21 Run Envoy via the Docker image (from the current directory): 22 23 ```sh 24 docker run --rm -p 50051:50051 -v $(pwd):/etc/envoy envoyproxy/envoy:v1.16.1 25 ``` 26 27 Now you can access AnyCable RPC service at `:50051`. 28 29 Try to restart Ruby processes one by one and see how this affects WebSocket connections (spoiler: they stay connected, no RPC errors in `anycable-go`).