Ce qui se passe
Quand des producteurs envoient plus que les consommateurs n'absorbent, ou qu'un consommateur tombe, un appel direct perd des événements. Le remède connu consiste à intercaler un journal durable, Kafka le plus souvent, et à l'exploiter. Cloudflare ouvre en bêta publique K2, une brique de streaming sans serveur sur sa plateforme développeurs, réservée aux comptes Workers Paid.
Un journal sur un stockage objet
K2 a d'abord servi de tampon d'ingestion aux Pipelines de Basin, sur un réseau où l'on ne fait pas tourner Kafka : machines petites, éphémères, reliées par l'Internet public. L'équipe s'est donc appuyée sur R2, durable et fortement cohérent, et lui a délégué réplication et consensus.
Un stockage objet ne sait pas ajouter à la fin d'un fichier. K2 accumule les écritures en mémoire un court instant, puis écrit un segment complet ; l'ordre et des positions strictement croissantes reposent sur les opérations atomiques de R2, sans service de coordination. Le prix : environ une seconde de latence d'écriture au p99. Calcul et stockage se dimensionnent séparément, ce qui rend la rétention longue bon marché.
Lire : souscriptions et baux
Une souscription répartit les lots entre plusieurs consommateurs. Chaque appel
à consume loue un lot pour cinq minutes, que le consommateur acquitte
(ack), rejette pour le recevoir à nouveau (nack) ou prolonge (extend).
Une souscription par consommateur donne du pub/sub ; les deux modes se
combinent.
cf k2 streams create --name app_events --http-enabledLe flux reçoit des octets, au format de votre choix, par binding Worker
(env.EVENTS.send([...])) ou par HTTP. La rétention de l'exemple officiel est
de 604 800 secondes, soit sept jours.
K2, Queues ou Pipelines
- Queues suit des tâches individuelles : reprises, délais, file des messages en échec.
- K2 déplace du volume, garde longtemps et sert plusieurs lecteurs, par lots — sans reprise message par message.
- Pipelines convient quand la destination est R2 ou une table Iceberg.
Limites et prix
Pendant la bêta : 10 Go de stockage, 30 Mo/s d'écriture par flux, rien de facturé. Tarif prévu ensuite : 0,04 $ par Go écrit, 0,04 $ par Go lu, 0,02 $ par Go et par mois conservé. Sont annoncés pour plus tard : des flux de plusieurs Go/s, des clés de message avec ordre par clé, des consommateurs en push, un niveau à faible latence et la compatibilité avec les clients Kafka.
Source : Cloudflare K2: serverless event streams, Cloudflare Blog, 1er octobre 2026.