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`).