envoyproxy/envoy

separate ConnectionPool from Cluster definition, make it sharable across Envoy worker threads

Open

#11,071 opened on May 5, 2020

View on GitHub
 (10 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/httparea/perfhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

sometimes we deploy multiple services among a set of endpoints, we define a set of clusters on these machines, each has a pool connecting to the same set of endpoints.

Separating ConnectionPool from Cluster has many advantages:

  • The same set of backends may be used to serve multiple services, they can share the same connections, better performance, less RAM footprint, less pool warming.
  • different LB algorithms on same set of connections,
  • possibly introduce context awareness between services/clusters when their backends are the same.

Contributor guide