caddy/modules/caddyhttp/reverseproxy
Matt Holt 40b193fb79
reverseproxy: Improve hashing LB policies with HRW (#4724)
* reverseproxy: Improve hashing LB policies with HRW

Previously, if a list of upstreams changed, hash-based LB policies
would be greatly affected because the hash relied on the position of
upstreams in the pool. Highest Random Weight or "rendezvous" hashing
is apparently robust to pool changes. It runs in O(n) instead of
O(log n), but n is very small usually.

* Fix bug and update tests
2022-04-27 10:39:22 -06:00
..
fastcgi fastcgi: Protect against requests with null bytes in the path (#4614) 2022-03-07 10:06:33 -07:00
addresses.go reverseproxy: Refactor dial address parsing, augment command parsing (#4616) 2022-03-05 16:34:19 -07:00
admin.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
ascii_test.go reverseproxy: Sync up handleUpgradeResponse with stdlib (#4664) 2022-04-11 12:49:56 -06:00
ascii.go reverseproxy: Sync up handleUpgradeResponse with stdlib (#4664) 2022-04-11 12:49:56 -06:00
caddyfile.go httpcaddyfile: Deprecate paths in site addresses; use zap logs (#4728) 2022-04-25 10:12:10 -06:00
command.go reverseproxy: Refactor dial address parsing, augment command parsing (#4616) 2022-03-05 16:34:19 -07:00
copyresponse.go chore: Comment fixes (#4634) 2022-03-13 01:38:11 -05:00
healthchecks.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
hosts.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
httptransport.go reverseproxy: Dynamic upstreams (with SRV and A/AAAA support) (#4470) 2022-03-06 17:43:39 -07:00
reverseproxy.go reverseproxy: Add _ms placeholders for proxy durations (#4666) 2022-04-11 13:04:05 -06:00
selectionpolicies_test.go reverseproxy: Improve hashing LB policies with HRW (#4724) 2022-04-27 10:39:22 -06:00
selectionpolicies.go reverseproxy: Improve hashing LB policies with HRW (#4724) 2022-04-27 10:39:22 -06:00
streaming_test.go ci: Use golangci's github action for linting (#3794) 2020-11-22 14:50:29 -07:00
streaming.go reverseproxy: Sync up handleUpgradeResponse with stdlib (#4664) 2022-04-11 12:49:56 -06:00
upstreams.go reverseproxy: Include port in A upstreams cache 2022-03-24 10:44:36 -06:00