Skip to content

[rfc]: Payload Compression#50

Open
pseudomuto wants to merge 1 commit into
mainfrom
rfc-compression
Open

[rfc]: Payload Compression#50
pseudomuto wants to merge 1 commit into
mainfrom
rfc-compression

Conversation

@pseudomuto

Copy link
Copy Markdown
Collaborator

Add an RFC proposing how the Temporal Proxy will compress workflow payloads before forwarding them upstream.

Centralizing compression at the proxy lets operators enable it in one place, transparently to workflow developers, rather than building it into every Worker's Data Converter or into a separate codec server. It composes with the proxy's encryption (always compressing before encrypting) and can help payloads stay under Temporal's per-payload and gRPC request size limits.

The proposal covers the supported algorithms (LZ4, ZSTD, Snappy) and why others are excluded; the per-payload metadata scheme that drives decompression; global and per-namespace configuration, including per-namespace opt-out; and the observability metrics.

https://github.com/temporalio/temporal-proxy/blob/rfc-compression/rfc/compression.md

Add an RFC proposing how the Temporal Proxy will optionally compress workflow payloads before forwarding them upstream.

Centralizing compression at the proxy lets operators enable it in one place, transparently to workflow developers, instead of building it into every Worker's Data Converter or a separate codec server. It composes with the proxy's encryption (always compressing before encrypting) and can help payloads stay under Temporal's per-payload and gRPC request size limits.

The proposal covers the three supported algorithms (LZ4, ZSTD, Snappy) and why others are excluded, the per-payload metadata scheme that drives decompression, global and per-namespace configuration including per-namespace opt-out, and the observability metrics. Structure mirrors the encryption RFC (#49), with a reference to the overview RFC up top.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant