Nitesh Thakur·2d agoEvent Time vs Processing Time: Windows, Watermarks, and Late Payments in FlinkHourly revenue in Apache Flink 2.2, and why a streaming total is a first draft rather than the final number.
Nitesh Thakur·3d agoWhen One Bad Event Stops Your Kafka Consumer: Backpressure, Retries, and Dead LettersHow a Spring Kafka consumer survives a traffic spike and a malformed record without applying a refund before the payment it refunds.
Nitesh Thakur·4d agoExactly-Once Into a Database: Storing Kafka Offsets in the Same TransactionHere’s a bug that looks like it was already handled. A merchant-balances consumer reads payment events and adds each amount to a merchant's…A response icon1A response icon1
Nitesh Thakur·5d agoWhy Consumer Lag Spikes on Every Deploy (and What Kafka 4.0’s New Rebalance Protocol Fixes)Here’s a pattern you can reproduce on almost any consumer group that runs on the classic protocol with default settings: start a rolling…
Nitesh Thakur·6d agoVirtual Threads Won’t Speed Up Your Kafka Poll Loop. They Fix the Slow Part Inside ItKafkaConsumer stays on one thread. The blocking calls you make per record don’t have to, as long as you keep per-key order and stop the…
Nitesh Thakur·6d agoPartition Keys Decide Your Ordering and Your Hot SpotsHere’s a failure that tends to show up on your biggest traffic day. A payments topic has 24 partitions and 24 consumers. Most of the…
Nitesh Thakur·Nov 6How Kafka Loses Data It Already AcknowledgedHere’s how a Kafka topic with three replicas, and a producer using acks=all, can still lose records the producer was told were safe…A response icon1A response icon1
Nitesh Thakur·Nov 5Upgrading to Spring Boot 4: What Breaks First and the Order to Fix ItStarter renames, Jackson 3, test annotations and the one change that won’t fail your build, in the order you’ll hit them.
Nitesh Thakur·Nov 5CDC With Debezium: Streaming the Postgres WAL Instead of PollingHere’s a failure that’s easy to walk into the first time you run change data capture. A Debezium connector stops on a Friday night (an…A response icon1A response icon1
Nitesh Thakur·Nov 4The Transactional Outbox in Spring Boot: Polling, Ordering, and Running More Than One RelayHere's how an outbox rollout can go wrong. It works in staging with one instance of payment-service and one @Scheduled relay. Then the…