centrifugal / centrifugal/protocol
Proposal: Extend protocol to allow clients send metadata for backend-proxycalls
- Dominant language
- Go
- Stars
- 10
- Forks
- 13
- Avg merge
- 5h 9m
- Merged PRs (30d)
- 15
Description
**Problem:**
We use Centrifugo to transmit data to our backend server via RPC calls and channel publications. However, we have a need to transmit telemetry for specific calls, which the current implementation does not support.
**Proposal:**
One solution we see is to extend the Centrifugo protocol to allow the transmission of metadata (key-value pairs) alongside data in RPC and Publish calls. This would enable specifying which keys should be processed and passed into headers during proxying of calls.
**Solution Options:**
- Allow users to pass any string key-value pairs into metadata. However, this may lead to misuse.
- Take a more localized approach, considering that telemetry might be needed not only by us but also by other Centrifugo users. Centrifugo could implement a metadata transmission mechanism, but only allow clients to send data that it supports, as specified in all client SDKs.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no specific files or tests; begin by reviewing the protocol definitions and the RPC and Publish call paths described. Before implementation, resolve whether metadata is arbitrary or limited to supported keys, then define the protocol and proxy-header behavior as the completion criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100