Urgent.News

What's breaking now, across thousands of outlets.

Tech

NATS JetStream vs Apache Kafka vs Apache Pulsar: Latency SLAs, Throughput & Multi-Tenancy

NATS JetStream vs Apache Kafka vs Apache Pulsar: Latency SLAs, Throughput & Multi-Tenancy Executive Summary & Decision Matrix All three systems are durable, replayable logs. The differences are in the tax each one charges on every message: JetStream buys low latency with a single Raft-group-per-stream design (low coordination overhead, limited per-stream scale ceiling), Kafka buys throughput and…

NATS JetStream, Apache Kafka, and Apache Pulsar are all durable, replayable logs with different trade-offs. JetStream offers low latency with a single Raft-group-per-stream design but has limited per-stream scale ceiling. Kafka prioritizes throughput and ecosystem strength by using a partition-per-consumer-thread model, which incurs higher costs per partition and lacks native multi-tenancy.

Pulsar focuses on horizontal elasticity and tenancy isolation through a BookKeeper-ledger/broker-compute-split architecture, but this incurs an extra network hop and tail latency. The benchmark environment used in the analysis consisted of three broker nodes with 32 vCPU and 64 GB RAM each, using ext4 storage and BookKeeper on separate bookies.

The client nodes were five c6i.4xlarge instances for producers and consumers. Both NATS JetStream and Apache Kafka use fsync for durability, while Pulsar utilizes BookKeeper's journal for fsyncPerWrite. The OpenMessaging Benchmark was utilized for the evaluation, with a focus on 0.0.1 and custom gRPC-driven wrk2-shaped load.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Pricing Flag Rollbacks — Choosing Real-Time Metrics Dashboard Tools Safely

The least complex tool that can answer “should I roll this pricing rule back?” is usually the right starting point: a metrics store with a query API, a dashboard, and alerts tied to the decision.

  • Focus on price-rule exposure, checkout starts, payments, failures, and cancellations.
  • Use multiple evaluation windows for meaningful comparisons and analysis.
  • Separate event streams from metrics to retain detailed payment failure information.

How to Prevent Duplicate POS Sales from Skewing Inventory with Python and SQLite

A point-of-sale register sells two pairs of boots. The inventory worker deducts two units and commits the change. Then the worker crashes before it acknowledges the message.

  • Create Python program using SQLite to handle sales and check for processed sales
  • Run program, perform sale, then try running again with same event ID to ignore duplicate
  • Handle errors for sales referencing non-existent SKUs or making inventory negative

Your Automated Tests Passed. Can You Prove They Tested the Right Thing?

There's something I've always found strange about automated testing. Teams spend enormous amounts of time trying to make their tests pass.

  • Differentiate critical vs. non-critical integrations in testing
  • Test keyboard shortcuts for conflicts across OS and browsers
  • Passing tests don't guarantee correct application functionality

More from Tuesday 3 November →