veilletech.fr
2 oct. Feed du jour
#07 CLOUDFLARE Article

Cloudflare K2 : un journal d'événements bâti sur R2

Une seconde de latence, et un cluster Kafka de moins à garder en vie.

Cloudflare ouvre en bêta publique K2, un flux d'événements durable et sans serveur, construit comme un journal partitionné sur le stockage objet R2. Lecture par souscriptions avec des baux de cinq minutes, rétention longue à bas coût, mais environ une seconde de latence d'écriture au p99. Gratuit pendant la bêta, dans la limite de 10 Go et 30 Mo/s par flux.

2 min de lectureintermédiairevidéo 1:23
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Un journal sur un stockage objet
  3. Lire : souscriptions et baux
  4. K2, Queues ou Pipelines
  5. Limites et prix
  6. À retenir

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.

Terminal
cf k2 streams create --name app_events --http-enabled

Le 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

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.