Cloudflare launched K2 in public beta on October 1, 2026, adding retained event streams for applications that need multiple consumers or replay. The announcement distinguishes K2 from work queues and data-ingestion pipelines. For AI applications, the decision is about event processing and recovery, not simply which messaging product is newest.
Streams support several views of the same events
K2 stores events for later consumption and supports independent subscriptions. One consumer group might build analytics, while another processes audit events from the same input. Cloudflare describes batch-oriented processing and a retention model, with public-beta limits and no billing during the beta period.
This can reduce the need to make the producer know every downstream use. It also creates a responsibility to define event schemas carefully. A consumer deployed later must understand older retained events, not only the current producer’s output. Record schema versions and make incompatible changes visible rather than allowing one field name to change meaning silently.
Processing latency and failure semantics matter
The launch reports initial produce latency of approximately one second at the 99th percentile, explaining the object-storage and batching tradeoff. That vendor figure makes K2 worth distinguishing from a low-latency request path. The K2 documentation provides the product’s supported interfaces and stream model.
A retained stream is useful for processing after a user request, but an application should not assume it fits a real-time tool-call deadline. Likewise, replay does not make external actions safe to repeat. A consumer that sends a notification or charges an account needs its own protection against repeating that effect when processing resumes.
Choose the primitive by the work it owns
Use a queue when the main problem is assigning an individual job and managing its retry or failure. Evaluate a stream when several systems need retained events or independent progress. Evaluate a pipeline when the destination is primarily an analytic dataset. These choices can coexist, but each should have a clearly defined job.
For an initial K2 evaluation, interrupt a consumer halfway through a batch and verify what happens on restart. Test lag, retention expiry and malformed events, then check that the producer receives a visible failure when an event cannot be stored. Beta access is a useful opportunity to establish those behaviors before an application depends on the service.