HeadlinesBriefing HeadlinesBriefing.com

Cloudflare K2 : flux d'événements sans serveur

Hacker News •
×

Avec les architectures traditionnelles d'appel de procédure distante (RPC), il existe un défi central : les producteurs et les consommateurs doivent s'aligner en échelle et en temps. Si vos producteurs envoient trop de données pour que vos consommateurs puissent les gérer ou si vos consommateurs ou services en aval deviennent indisponibles, les événements sont perdus. Ce problème est aggravé par plusieurs consommateurs qui doivent traiter les données indépendamment. Par exemple, un backend e-commerce peut émettre des événements lorsque les transactions sont terminées, qui doivent être lus par un système d'analyse et un service de détection de fraude. Nous pouvons résoudre ce problème en découplant nos producteurs et consommateurs — en insérant un service au milieu qui absorbe les écritures tout en permettant aux lecteurs indépendants de consommer à leur propre rythme.

Aujourd'hui, nous lançons Cloudflare K2 en bêta publique pour résoudre ce problème. K2 est une primitive de flux d'événements durable sur la plateforme développeur. Vous envoyez des événements à un flux K2, qui les stocke sous forme de journal ordonné. Les consommateurs peuvent les lire de différentes manières, par exemple en répartissant les lectures sur un ensemble de consommateurs, ou en délivrant tous les messages à tous les consommateurs. Il est entièrement sans serveur, s'adapte à de vastes quantités de données et prend en charge la rétention à long terme, de sorte que même de longues périodes d'indisponibilité du consommateur ne perdent pas de données.

Sous le capot, K2 implémente un journal durable partitionné sur le stockage d'objets R2, ce qui lui permet de s'adapter à d'énormes volumes de stockage. Si vous êtes prêt à commencer, vous pouvez créer votre premier flux en quelques secondes en suivant le guide ici. Nous avons d'abord construit K2 parce que nous avions besoin d'un tampon durable en périphérie, initialement pour servir de couche d'ingestion pour Basin Pipelines. Notre architecture unique signifie que nous ne pouvons souvent pas exécuter des logiciels de systèmes distribués traditionnels comme Apache Kafka, et que nous devons repenser la façon dont ces systèmes sont construits et exploités.

En concevant le système de mise en tampon durable qui est devenu K2, nous avons décidé de nous appuyer sur la primitive d'état puissante que nous avons déjà : R2. Les systèmes de stockage d'objets comme R2 combinent un stockage extrêmement durable (11 9s !) avec des API fortement cohérentes. Un avantage secondaire est qu'il sépare le calcul et le stockage, ce qui signifie que chacun peut être mis à l'échelle indépendamment. Cela nous permet de stocker de vastes quantités de données historiques à faible coût.

Source: Hacker News · Résumé par HeadlinesBriefing