Difference between revisions of "Proxyd"
Jump to navigation
Jump to search
(→Logs) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
* https://github.com/ethereum-optimism/infra/tree/main/proxyd | * https://github.com/ethereum-optimism/infra/tree/main/proxyd | ||
− | proxyd /etc/proxyd/[[proxyd.toml]] | + | proxyd /etc/proxyd/[[proxyd.toml]]: <code>[[ws_method_whitelist]], [[response_timeout_seconds]], [[out_of_service_seconds]], [[max_latency_threshold]]</code> |
* Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md | * Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md | ||
* Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go | * Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go | ||
+ | ** [[Proxyd config example]]: https://github.com/ethereum-optimism/infra/blob/main/proxyd/example.config.toml | ||
* Releases: https://github.com/ethereum-optimism/infra/tags | * Releases: https://github.com/ethereum-optimism/infra/tags | ||
Line 24: | Line 25: | ||
* Applies [[rate limiting]] (<code>[[SenderRateLimitConfig]]</code>) on a per-sender basis to avoid being bombarded with signed transactions causing a DOS (Denial of Service) of the sequencer ([[Optimism Censorship Bug Disclosure]]) | * Applies [[rate limiting]] (<code>[[SenderRateLimitConfig]]</code>) on a per-sender basis to avoid being bombarded with signed transactions causing a DOS (Denial of Service) of the sequencer ([[Optimism Censorship Bug Disclosure]]) | ||
− | == | + | == [[Proxyd backend healthy]] == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Logs == | == Logs == | ||
Line 48: | Line 41: | ||
* <code>[[backend banned - not healthy]]</code> | * <code>[[backend banned - not healthy]]</code> | ||
* <code>[[backend banned - unexpected block tags]]</code> | * <code>[[backend banned - unexpected block tags]]</code> | ||
− | * <code>proxied requests' [[XFF | + | * <code>proxied requests' [[XFF header will not contain the proxyd ip address]]</code> |
* <code>[[peer count responded with 200 and 0 peers]]</code> | * <code>[[peer count responded with 200 and 0 peers]]</code> | ||
* <code>[[failed request]]</code> | * <code>[[failed request]]</code> |
Latest revision as of 15:41, 14 October 2024
proxyd /etc/proxyd/proxyd.toml: ws_method_whitelist, response_timeout_seconds, out_of_service_seconds, max_latency_threshold
- Changelog: https://github.com/ethereum-optimism/infra/blob/main/proxyd/CHANGELOG.md
- Config: https://github.com/ethereum-optimism/infra/blob/main/proxyd/config.go
- Releases: https://github.com/ethereum-optimism/infra/tags
Features:
- Whitelists RPC methods (ws_method_whitelist)
- Routes RPC methods to groups of backend services
- Round-robin Load balance requests across backend services
- Automatically retries failed backend requests
- Cache immutable responses from backends
- Provides metrics to measure request latency, error rates
Consensus related:
- Track backend consensus (latest, safe, finalized blocks), peer count and sync state
- Re-write requests and responses to enforce consensus
- Applies rate limiting (
SenderRateLimitConfig
) on a per-sender basis to avoid being bombarded with signed transactions causing a DOS (Denial of Service) of the sequencer (Optimism Censorship Bug Disclosure)
Proxyd backend healthy[edit]
Logs[edit]
ERROR
error forwarding request to backend
Error forwarding RPC batch
error serving requests
error proxying websocket
error writing clientConn message
WARN
backend request failed, trying again
backend banned - not healthy
backend banned - unexpected block tags
proxied requests' XFF header will not contain the proxyd ip address
peer count responded with 200 and 0 peers
failed request
error updating backend
backend broke consensus
INFO
Activities[edit]
Related[edit]
- Consensus
- Emerald Dshackle load balancer
- dRPC
- Total number of primary candidates
- RedisConfig
- Fallback
See also[edit]
proxyd, config, routing_strategy, consensus_aware (deprecated), SenderRateLimitConfig
, Consensus awareness,ws_method_whitelist
, backend healthy- OP Stack:
op-, op-geth, op-node, op-proposer, op-batcher, op-contracts, op-challenger, op-heartbeat, op-ufm, op-service
, Snap Sync, op-conductor, op-dispute-mon
Advertising: