Cloudflare Workflows now supports saga-style rollbacks, letting developers attach compensation logic directly to each step.do() call. When a multi-step workflow fails, registered rollback handlers execute in reverse step-start order, each running through Workflows' durable step machinery with retries, timeouts, and lifecycle events. The post explains the API design decisions (fluent vs. builder vs. options object), how rollback handlers are stored as callable stubs, how replay rebuilds handlers after engine restarts, and the key behavioral rules around ordering and eligibility for failed steps.
Nguồn: https://blog.cloudflare.com/rollbacks-for-workflows. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Apache Kafka có lỗ hổng trong cơ chế log compaction khiến dữ liệu bị hỏng do xung đột giữa compaction và replication, gây ra bốn vấn đề: dữ liệu đã xóa tái xuất hiện, giao dịch bị hủy hiện dưới dạng đã commit, dữ liệu đã commit bị ẩn, và consumers read_committed bị đóng băng partition. Redpanda Streaming khắc phục bằng giao thức compaction phối hợp, sử dụng các cặp offset (MCCO/MTRO, MXFO/MXRO) để đảm bảo tombstones và transaction markers không bị xóa trước khi tất cả replicas xử lý xong. Lỗi này có thể tái hiện trên Kafka phiên bản 3.9 đến 4.2 bằng Docker Compose.
Lập trình viên cần đọc bài này để hiểu cách giải quyết vấn đề lỗi race condition trong log compaction của Kafka, giúp tránh mất dữ liệu và bảo đảm tính nhất quán khi xử lý các trường hợp đồng bộ hóa dữ liệu trên nhiều broker.
Nhóm Cloudflare Images phát hiện lỗi điều kiện chạy (race condition) trong thư viện hyper HTTP (phiên bản 0.14–1.8) khi chuyển đổi sang sử dụng Unix sockets, khiến dữ liệu ảnh lớn bị cắt xén ngẫu nhiên do vòng lặp xử lý không chờ Poll::Pending từ poll_flush. Lỗi chỉ xuất hiện trong môi trường sản xuất với tải cao, không thể tái hiện bằng curl hay thử nghiệm cục bộ. Nhóm đã khắc phục bằng cách bổ sung 4 dòng lệnh vào poll_shutdown để đảm bảo dữ liệu được ghi hết trước khi đóng kết nối.
Lập trình viên cần đọc bài này để hiểu cách một lỗi race condition trong thư viện HTTP phổ biến (hyper) có thể gây ra vấn đề nghiêm trọng trong ứng dụng thực tế, đặc biệt khi kết hợp với các điều kiện concurrency và giao thức socket, và cách team phát hiện, debug và fix bằng cách quan sát syscall thực tế.
Sắc lệnh hành pháp 14409 của Mỹ yêu cầu các cơ quan liên bang và nhà thầu phải chuyển sang mã hóa hậu lượng tử (PQC) vào năm 2030 và xác thực hậu lượng tử vào năm 2031, nhằm ngăn chặn các cuộc tấn công "thu thập giờ đây giải mã sau". Cloudflare khuyến nghị cần làm rõ tiêu chuẩn "chuyển đổi", ưu tiên khả năng thích ứng mật mã (crypto agility) và thúc đẩy sự thống nhất toàn cầu về thuật toán NIST để tránh phân mảnh.
Lập trình viên nên đọc bài này để hiểu cách chuyển đổi sang các giải pháp mã hóa chống lượng tử (post-quantum) không chỉ là một yêu cầu pháp lý mà là một chiến lược bảo mật cấp hệ thống, giúp bảo vệ ứng dụng của bạn trước các mối đe dọa tương lai từ máy tính lượng tử trong thời gian ngắn nhất.
Việc sử dụng tracing giúp phát hiện sớm các vấn đề tiềm ẩn khi thay đổi hệ thống bằng cách theo dõi luồng dữ liệu và sự kiện trong môi trường phân tán. Các thư viện phổ biến như OpenTracing, OpenTelemetry, Zipkin và Jaeger hỗ trợ giám sát, trong khi Digma cung cấp phản hồi tức thì trong quá trình phát triển.
Lập trình viên nên đọc bài này để hiểu cách sử dụng tracing để phát hiện và tránh các break changes trong hệ thống phân tán, từ đó giảm thiểu rủi ro khi cập nhật hoặc mở rộng ứng dụng.

Apache Flink 2.3.0 is now available, implementing 15 FLIPs with major improvements across SQL, connectors, and runtime. New SQL operators FROM_CHANGELOG and TO_CHANGELOG bridge append-only and dynamic changelog tables. Materialized tables gain DDL parity with regular tables and fine-grained refresh control via a new START_MODE clause. The SinkUpsertMaterializer is reworked with an explicit ON CONFLICT clause and watermark-based compaction to reduce state size. A new native S3 filesystem plugin built on AWS SDK v2 replaces Hadoop/Presto-based connectors with non-blocking I/O and zero Hadoop dependencies. Runtime improvements include adaptive partition selection for backpressure handling, watermark alignment redesign for faster backlog processing, checkpointing during recovery from unaligned checkpoints, and application-level lifecycle management with a new Web UI Applications tab.
Cloudflare released the Cloudflare One stack, an open-source library of agent skills that enables AI agents to plan, deploy, manage, and migrate Zero Trust environments. The library ships as two lightweight files: one for product guidance and one for vendor-to-vendor migration, with explicit logic for migrating from Zscaler and Palo Alto Networks. The migration logic is the same used in Cloudflare's Descaler and Deskope programs, which have moved enterprise customers in hours rather than months. When paired with the Cloudflare MCP server, agents can query live account configurations and make changes through curated workflows. The stack uses a review-before-apply pattern so practitioners approve changes before they are committed.
Wrangler is the CLI for Cloudflare Workers, used to run code locally, deploy, stream logs, manage secrets, and provision resources like D1 databases, KV, R2, and Queues. Key commands covered include wrangler dev for local development, wrangler deploy for publishing, wrangler tail for live log streaming, wrangler secret put for secure credential storage, and wrangler types for TypeScript binding generation. The config file wrangler.jsonc drives all behavior, and named environments allow separate staging and production setups.
Cloudflare R2 is S3-compatible object storage with no egress fees, making it cost-effective for serving files at scale. This guide covers how to use R2 from a Cloudflare Worker: creating a bucket via Wrangler, storing binary uploads with a key, reading objects back as streams, setting content-type metadata, listing objects by prefix, and deleting them. It also notes the option to attach a custom domain for direct public serving without a Worker.