flexway
FRENTalk to an expert

Media, games and real time

Real time without a queue, a fair rate.

SSE and WebSocket streams relayed without holding, rate per caller and explicit refusals: a surge of audience does not bring the services down, and every player or reader keeps their share. It is the gateway of our tournament platform.

What Flexway decides, on your infrastructure

Who calls, what Flexway decides, what is called: each route is a use case of your sector. Dashed: what is coming.

Your infrastructureflexwayAPI, AI and agent gatewayUnified Decision Chain (UDC)429HTTP/3 for callersplannedMulti-provider accountsseveral OIDC issuersRate per playertoken bucket, Retry-AfterEvent published from HTTP202, put on the brokerSSE, WebSocket streamsunbuffered, drained on shutdownPlayersViewersMobile appsGame serversLive broadcastKafkaYour infrastructureflexwayAPI, AI and agent gatewayUnified Decision Chain (UDC)429HTTP/3 for callersplannedMulti-provider accountsseveral OIDC issuersRate per playertoken bucket, Retry-AfterEvent published from HTTP202, put on the brokerSSE, WebSocket streamsunbuffered, drained on shutdownPlayersViewersMobile appsGame serversLive broadcastKafka

Architecture for media and gaming: players, viewers and mobile apps go through Flexway, on your infrastructure. Flexway accepts accounts from several providers, relays SSE and WebSocket streams, publishes to the broker an event received over HTTP and holds each player's rate, in front of your game servers, live broadcast and Kafka. A player over its rate gets a 429. Coming: HTTP/3 for callers.

Players
The players: a rate per player protects your game servers, with Retry-After when the limit is reached.
Viewers
A broadcast's viewers: SSE or WebSocket streams relayed without holding back and drained cleanly on shutdown.
Mobile apps
Your users' mobile apps: their calls go through Flexway, under the same contract and identity as the web.
HTTP/3 for callers
Planned: Flexway will accept HTTP/3 on the callers' side (QUIC), in addition to the current versions.
Multi-provider accounts
Flexway checks who is calling (OIDC token, API key or client certificate) and reads the tenant from the identity; no valid identity: 401.
Rate per player
A token bucket per caller limits its rate; beyond it: 429 with Retry-After and the RateLimit headers.
Event published from HTTP
Flexway publishes on your broker, under an AsyncAPI contract and in a CloudEvents envelope, what it receives over HTTP.
SSE, WebSocket streams
Real-time streams (SSE, WebSocket) are relayed without holding back; identity and rate are checked when they open.
Game servers
Your game servers: protected by a rate per player.
Live broadcast
Your live broadcast: streams relayed without holding back to the viewers.
Kafka
Your Kafka cluster: Flexway publishes on it the events received over HTTP, under contract, in a CloudEvents envelope.
  • Line: one route
  • Interchange: shared decision
  • Request
  • Event
  • Refusal
  • Your infrastructure
  • Planned
  1. HTTP/3 for callersplanned
  2. Multi-provider accountsseveral OIDC issuers
  3. Rate per playertoken bucket, Retry-After
  4. Event published from HTTP202, put on the broker
  5. SSE, WebSocket streamsunbuffered, drained on shutdown
  1. 1A viewer follows a match live

    What Flexway decidesThe SSE or WebSocket stream is relayed as is; when a replica stops, it is drained.

    What is protectedNo live cut during a deployment.

  2. 2A player publishes a game event

    What Flexway decidesThe HTTP request becomes an event on the broker; the client gets a 202.

    What is protectedYour game servers consume at their own pace.

  3. 3A client sends too many requests

    What Flexway decidesThe token bucket applies per player; beyond it, a 429 with Retry-After.

    What is protectedThroughput stays fair between players.

Open this template in the editor

What the sector requires

BroadcastStreams without holding
SSE and WebSocket relayed as they are; when a replica stops, streams in flight are drained.
FairnessA fair rate per player
Token bucket per caller; beyond it, a 429 with Retry-After rather than an endless queue.
AccountsAccounts from several providers
Several OIDC issuers at once, signing keys cached with rotation.
Game eventsEvents published from HTTP
A client publishes an event over HTTP; the gateway puts it on the broker and answers 202.

How Flexway answers

Streams without holding

  • Streams relayed without holding: SSE and chunked bodiesDelivered · v0.1.0
  • WebSocket relayedDelivered · v0.1.0
  • Graceful shutdown: streams in flight are drainedDelivered · v0.1.0

A fair rate per player

  • Rate per caller (token bucket)Delivered · v0.1.0
  • 429 with Retry-After and RateLimit headersDelivered · v0.1.0

Accounts from several providers

  • iss and aud checked; several issuers in one configurationDelivered · v0.1.0
  • JWT validation, cached JWKS keys with rotationDelivered · v0.1.0

Events published from HTTP

  • Mediation of the synchronous to asynchronous boundaryDelivered · v1.5.0
  • Kafka publishing under contract, CloudEvents envelopeDelivered · v1.5.0

State in Flexway's latest published release; a feature is marked delivered only with its release.

What Flexway does not do

Let's talk about your gateway

Flexwiz is a young company: you talk directly with the person who founds it. Tell us what you want to run through Flexway. We talk about your infrastructure and your digital sovereignty requirements.

Online booking is coming soon; until then, an e-mail is enough.