โ† Back|DATA-ENGINEERINGโ€บSection 1/18
0 of 18 completed

Real-time data systems

Advancedโฑ 16 min read๐Ÿ“… Updated: 2026-02-17

Introduction

Nee Swiggy la food order pannureenga ๐Ÿ•. Order status real-time la update aagudhu:

  • "Order confirmed" โ†’ 2 seconds la
  • "Restaurant accepted" โ†’ instant
  • "Delivery partner assigned" โ†’ real-time
  • Live location tracking โ†’ every 3 seconds

Idhu ellam real-time data systems work aagura padi nadakkudhu! Batch processing la idhu possible illa โ€” 1 hour wait pannaa food cold aaidum ๐Ÿ˜…


Real-time systems modern tech la everywhere โ€” stock trading, fraud detection, gaming, social media feeds, IoT sensors. Let's deep dive pannalaam! ๐Ÿš€

Batch vs Streaming โ€” Key Differences

Batch Processing ๐Ÿ“ฆ

  • Data collect pannunga โ†’ wait โ†’ process all at once
  • Like washing clothes โ€” collect dirty clothes, wash together
  • Latency: minutes to hours
  • Example: Daily sales report

Stream Processing ๐ŸŒŠ

  • Data varum bodhe process pannunga โ€” no waiting
  • Like assembly line โ€” each item immediately handled
  • Latency: milliseconds to seconds
  • Example: Fraud detection

FeatureBatchStreaming
LatencyMinutes-HoursMilliseconds-Seconds
DataBounded (fixed set)Unbounded (infinite)
ProcessingMapReduce, SparkKafka, Flink, Spark Streaming
Complexity๐ŸŸข Lower๐Ÿ”ด Higher
Cost๐Ÿ’ฐ Lower๐Ÿ’ฐ๐Ÿ’ฐ๐Ÿ’ฐ Higher
Accuracyโœ… Complete dataโš ๏ธ Approximate (sometimes)
StateStateless (mostly)Stateful (tricky)
RecoveryRe-run the batchCheckpoint + replay

Key insight: "Do I really need real-time?" โ€” Idhu first question. 90% of use cases ku near real-time (few minutes delay) podhum! ๐Ÿค”

Stream Processing Architecture

๐Ÿ—๏ธ Architecture Diagram
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚       REAL-TIME DATA SYSTEM ARCHITECTURE          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                   โ”‚
โ”‚  PRODUCERS          MESSAGE BUS        CONSUMERS  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ Web App  โ”‚โ”€โ”€โ–ถโ”‚               โ”‚โ”€โ”€โ–ถโ”‚ Analyticsโ”‚โ”‚
โ”‚  โ”‚ Mobile   โ”‚โ”€โ”€โ–ถโ”‚  Apache Kafka โ”‚โ”€โ”€โ–ถโ”‚ ML Model โ”‚โ”‚
โ”‚  โ”‚ IoT      โ”‚โ”€โ”€โ–ถโ”‚  (or Pulsar)  โ”‚โ”€โ”€โ–ถโ”‚ Alerts   โ”‚โ”‚
โ”‚  โ”‚ DB CDC   โ”‚โ”€โ”€โ–ถโ”‚               โ”‚โ”€โ”€โ–ถโ”‚ Search   โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚                         โ”‚                         โ”‚
โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚
โ”‚              โ”‚  STREAM PROCESSOR   โ”‚              โ”‚
โ”‚              โ”‚                     โ”‚              โ”‚
โ”‚              โ”‚  Apache Flink       โ”‚              โ”‚
โ”‚              โ”‚  Spark Streaming    โ”‚              โ”‚
โ”‚              โ”‚  Kafka Streams      โ”‚              โ”‚
โ”‚              โ”‚                     โ”‚              โ”‚
โ”‚              โ”‚  โ€ข Filter           โ”‚              โ”‚
โ”‚              โ”‚  โ€ข Transform        โ”‚              โ”‚
โ”‚              โ”‚  โ€ข Aggregate        โ”‚              โ”‚
โ”‚              โ”‚  โ€ข Window           โ”‚              โ”‚
โ”‚              โ”‚  โ€ข Join             โ”‚              โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚
โ”‚                         โ”‚                         โ”‚
โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚
โ”‚              โ”‚      SINKS          โ”‚              โ”‚
โ”‚              โ”‚  DB / Dashboard /   โ”‚              โ”‚
โ”‚              โ”‚  Alert / Data Lake  โ”‚              โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Event-Driven Architecture

Real-time systems mostly event-driven:


Event = Something happened at a point in time

json
{
  "event_type": "order_placed",
  "timestamp": "2026-02-17T10:30:00Z",
  "user_id": "U123",
  "order_id": "ORD456",
  "amount": 599.00,
  "items": ["pizza", "coke"]
}

Event-Driven Patterns:


1. Event Notification ๐Ÿ“ข

  • "Something happened!" โ€” lightweight, just notify
  • Consumer decide pannum what to do
  • Example: "New order placed" โ†’ email service, inventory service both react

2. Event-Carried State Transfer ๐Ÿ“ฆ

  • Event la full data irukku
  • Consumer ku additional API call vendaam
  • Example: Order event la items, prices, address โ€” ellam irukku

3. Event Sourcing ๐Ÿ“

  • State ah store panna maateenga, events ah store pannuveeenga
  • Current state = replay all events
  • Example: Bank account โ€” deposits and withdrawals list = current balance

4. CQRS (Command Query Responsibility Segregation) ๐Ÿ”€

  • Write (commands) and Read (queries) separate models
  • Write optimized for consistency, Read optimized for speed

Windowing โ€” Time-Based Aggregation

Streaming data la "total orders" count pannanum โ€” but data never stops! ๐Ÿค” Windowing solves this:


1. Tumbling Window โฌœโฌœโฌœ

  • Fixed size, no overlap
  • Every 5 minutes, count orders
code
[0-5min] [5-10min] [10-15min]

2. Sliding Window ๐Ÿ“

  • Fixed size, overlapping
  • Every minute, count orders in last 5 minutes
code
[0----5]
  [1----6]
    [2----7]

3. Session Window ๐Ÿ‘ค

  • Dynamic size, based on activity gaps
  • User inactive for 30 min = window close
code
[activity...gap...][activity...gap...]

4. Global Window ๐ŸŒ

  • All data in one window
  • Useful with triggers (every 1000 events, fire)

Flink Example:

java
stream
  .keyBy(event -> event.getUserId())
  .window(TumblingEventTimeWindows.of(Time.minutes(5)))
  .aggregate(new OrderCounter());

Windowing concept real-time analytics ku fundamental! ๐Ÿ“Š

Processing Guarantees โ€” Critical Concept

๐Ÿ’ก Tip

Real-time systems la message processing guarantees super important:

๐Ÿ’ก At-most-once โ€” Message lose aagalaam, but duplicate varaadhu

- Fire and forget

- Use case: Metrics, logs (miss pannaalum okay)

๐Ÿ’ก At-least-once โ€” Message definitely process aagum, but duplicate varalaam

- Retry on failure

- Use case: Most applications (with idempotent consumers)

๐Ÿ’ก Exactly-once โ€” Message oru time dhaan process aagum

- Hardest to achieve! Distributed system la very tricky

- Kafka Transactions + idempotent producers use pannunga

Practical tip: At-least-once + idempotent consumers = effectively exactly-once. Idhu most production systems use panra approach!

Idempotent consumer example:

python
def process_order(event):
    if db.exists(event.order_id):  # Already processed?
        return  # Skip!
    db.insert(event)  # Process

Change Data Capture (CDC)

Database changes ah real-time la capture panradhu โ€” CDC:


Problem: MySQL la order insert aana, immediately Elasticsearch la searchable aaganum. How?


CDC Solution:

code
MySQL โ”€โ”€(binlog)โ”€โ”€โ–ถ Debezium โ”€โ”€โ–ถ Kafka โ”€โ”€โ–ถ Elasticsearch

How CDC works:

  1. Database internally transaction log maintain pannum (binlog, WAL)
  2. CDC tool (Debezium) log ah read pannum
  3. Changes ah events ah convert pannum
  4. Kafka ku publish pannum
  5. Consumers react pannuvaanga

Debezium Event:

json
{
  "op": "c",
  "before": null,
  "after": {
    "id": 1001,
    "name": "Laptop",
    "price": 75000,
    "stock": 50
  },
  "source": {
    "table": "products",
    "db": "ecommerce"
  }
}

op: c=create, u=update, d=delete, r=read(snapshot)


CDC use cases:

  • ๐Ÿ” Real-time search index update
  • ๐Ÿ“Š Real-time analytics dashboard
  • ๐Ÿ”„ Database replication
  • ๐Ÿ“ฆ Cache invalidation
  • ๐Ÿค– ML feature store update

Backpressure โ€” Handle or Die!

โš ๏ธ Warning

โš ๏ธ Backpressure = Producer is faster than consumer. Data pile up aagudhu!

Imagine: 10,000 events/second produce aagudhu, but consumer 5,000/second dhaan handle pannum. 5,000 events/second accumulate aagum! ๐Ÿ’ฅ

What happens without handling:

- Memory overflow โ†’ crash

- Increasing latency โ†’ minutes behind

- Data loss โ†’ worst case

Solutions:

๐Ÿ”ต Buffer โ€” Queue la store pannunga (Kafka does this well โ€” disk-based buffer)

๐Ÿ”ต Drop โ€” Less important messages skip pannunga (metrics ok, transactions NOT ok)

๐Ÿ”ต Sample โ€” Every nth message process pannunga

๐Ÿ”ต Scale โ€” More consumers add pannunga (Kafka consumer groups)

๐Ÿ”ต Rate limit โ€” Producer slow down pannunga

Kafka advantage: Disk-based storage โ€” consumers slow aanalum data safe. Days worth of backlog handle pannum! Unlike in-memory queues that crash.

Monitor: Consumer lag metric always watch pannunga! ๐Ÿ“Š

Stateful Stream Processing

Most interesting stream processing stateful โ€” previous events remember pannanum:


Stateless (simple):

code
Event โ†’ Transform โ†’ Output
"Convert USD to INR" โ€” no memory needed

Stateful (complex):

code
Events โ†’ Accumulate state โ†’ Output
"Running average of last 100 orders" โ€” need to remember!

State Examples:

  • ๐Ÿ“Š Running count/average
  • ๐Ÿ” Deduplication (seen this event before?)
  • ๐Ÿ”— Stream-stream joins (match orders with payments)
  • ๐Ÿ• Session tracking (user activity sessions)

State Storage Options:

OptionSpeedDurabilityUse Case
In-memoryโšก FastestโŒ Lost on crashEphemeral counters
RocksDB (embedded)๐Ÿš€ Fastโœ… PersistentFlink default
External DB (Redis)๐ŸŸก Network latencyโœ… SharedMulti-app state

Challenge: Node crash aana state lose aagakoodadhu! Checkpointing โ€” periodically state snapshot save pannunga. Crash aana last checkpoint la irundhu resume pannunga.


Flink automatically checkpoint pannum โ€” oru reason it's the best stream processor! ๐Ÿ†

Real-Time Processing Tools

Right tool choose panradhu important:


ToolTypeLatencyStrengthsWeakness
**Apache Kafka**Message BusmsDurability, scaleNot a processor
**Apache Flink**Stream ProcessormsStateful, exactly-onceComplex setup
**Spark Streaming**Micro-batchsecondsEasy if you know SparkNot true streaming
**Kafka Streams**Stream ProcessormsSimple, no clusterJVM only
**Apache Pulsar**Message BusmsMulti-tenancyNewer, less ecosystem
**AWS Kinesis**Managed StreammsNo ops, AWS nativeVendor lock-in
**Google Dataflow**Managed ProcessormsAuto-scale, GCPVendor lock-in

Recommendation by use case:

  • Simple event processing โ†’ Kafka + Kafka Streams
  • Complex stateful โ†’ Kafka + Flink
  • Already using Spark โ†’ Spark Structured Streaming
  • AWS shop โ†’ Kinesis + Lambda
  • GCP shop โ†’ Pub/Sub + Dataflow

Real-World: Uber Real-Time System

โœ… Example

Uber oda real-time data system paapom ๐Ÿš—:

Scale: 1 trillion+ messages/day through Kafka!

Use Cases:

1. ๐Ÿ—บ๏ธ Real-time ETA: Driver location + traffic + demand โ†’ ETA calculation (every 4 seconds update)

2. ๐Ÿ’ฐ Dynamic Pricing: Supply/demand ratio real-time calculate โ†’ surge pricing

3. ๐Ÿ›ก๏ธ Fraud Detection: Trip patterns analyze โ†’ suspicious activity flag (< 100ms)

4. ๐Ÿ“Š Driver Matching: Rider request โ†’ nearest available driver (< 1 second)

Tech Stack:

- Kafka โ€” Central event bus

- Apache Flink โ€” Stream processing (complex event processing)

- Apache Pinot โ€” Real-time OLAP (dashboard queries)

- Custom ML โ€” Demand forecasting, ETA prediction

Architecture Flow:

code
Driver App โ†’ Kafka โ†’ Flink (process) โ†’ Pinot (serve) โ†’ Dashboard
     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Kafka โ†’ ML Model โ†’ Pricing Service

Key Learning: Uber batch + streaming both use pannum. Not everything needs real-time โ€” they choose wisely! ๐Ÿง 

Testing Real-Time Systems

Real-time systems test panradhu batch compare la much harder:


1. Unit Tests ๐Ÿงช

  • Individual processing functions test pannunga
  • Window logic correct ah work aagudha?
  • State management bugs irukka?

2. Integration Tests ๐Ÿ”—

  • Embedded Kafka use panni end-to-end test
  • Testcontainers library โ€” Docker la Kafka, Flink spin up pannunga

3. Load Tests ๐Ÿ‹๏ธ

  • Production traffic simulate pannunga
  • Backpressure handling test pannunga
  • Scale test โ€” 10x normal load la enna nadakkum?

4. Chaos Tests ๐Ÿ’ฅ

  • Node kill pannunga โ€” recovery work aagudha?
  • Network partition โ€” split brain irukka?
  • Clock skew โ€” out-of-order events handle aagudha?

5. Replay Tests โ–ถ๏ธ

  • Production events capture panni replay pannunga
  • New logic old data la correct result kudukkudha?

Pro tip: Production la shadow mode run pannunga first โ€” real data process pannunga but results discard pannunga. Issues catch aana apram dhaan live pannunga! ๐ŸŽฏ

Prompt: Design Real-Time System

๐Ÿ“‹ Copy-Paste Prompt
You are a senior data architect. Design a real-time data system for this scenario:

A fintech company wants to:
1. Process 50,000 transactions/second
2. Detect fraudulent transactions in < 200ms
3. Update account balances in real-time
4. Generate real-time dashboards for ops team
5. Maintain audit trail for compliance

Requirements:
- 99.99% uptime
- Exactly-once processing for financial data
- Handle 10x traffic spikes during festivals

Provide: Architecture diagram, tool choices, processing guarantees strategy, monitoring plan, disaster recovery. Explain in Tanglish.

Real-Time Systems Best Practices

Production real-time systems ku follow pannunga:


โœ… Question the need โ€” Really real-time venum ah? Near real-time podhum ah?

โœ… Design for failure โ€” Everything will fail. Plan accordingly.

โœ… Idempotent consumers โ€” Duplicate processing safe ah irukanum

โœ… Monitor consumer lag โ€” Most important metric in streaming

โœ… Schema evolution โ€” Avro/Protobuf use pannunga, JSON avoid pannunga at scale

โœ… Dead letter queue โ€” Process panna mudiyaadha messages separate ah handle pannunga

โœ… Graceful degradation โ€” Overload la degrade pannunga, crash aagakoodadhu

โœ… Capacity planning โ€” 3x expected peak traffic ku design pannunga

โœ… Observability โ€” Metrics, logs, traces โ€” three pillars irukanum


Real-time systems complex dhaan, but master pannaa you're in the top 10% of data engineers! ๐Ÿ†


Next up: Kafka basics โ€” real-time oda backbone! ๐Ÿš€

โœ… Key Takeaways

โœ… Batch vs Streaming โ€” Batch: fixed data sets, minutes-hours latency. Streaming: unbounded data, milliseconds latency. Real-time requirement carefully assess pannunga (90% case batch enough)


โœ… Event-Driven Architecture โ€” Events (something happened at a timestamp). Stream processing consume panni react pannunga. Event sourcing: state replay events irundhu reconstruct


โœ… Processing Guarantees โ€” At-most-once (may lose), At-least-once (may duplicate), Exactly-once (hard). Practical: at-least-once + idempotent consumers = effectively exactly-once


โœ… Windowing Concepts โ€” Tumbling (fixed, non-overlapping), Sliding (fixed, overlapping), Session (activity gaps). Real-time aggregations window-based


โœ… Backpressure Handling โ€” Producer faster than consumer โ†’ data accumulate. Buffer, drop, sample, scale, rate-limit options. Kafka disk-based buffer advantage


โœ… State Management โ€” Stateful operations (counting, joining, sessions) maintain state venum. Checkpointing periodic saving. Node crash โ†’ recover last checkpoint


โœ… Change Data Capture (CDC) โ€” Database changes capture โ†’ stream. Debezium popular tool. Real-time search index, cache invalidation, analytics


โœ… Tools Ecosystem โ€” Kafka (message bus), Flink (stream processor), Spark Streaming (micro-batch), Kafka Streams (simple). Use case match select pannunga

๐Ÿ ๐ŸŽฎ Mini Challenge

Challenge: Real-Time Stream Processing Hands-On


Kafka + Flink-like processing practice pannu:


Setup Kafka Locally - 5 min:

bash
docker run -d -p 9092:9092 confluentinc/cp-kafka:7.5.0
docker run -d -p 2181:2181 confluentinc/cp-zookeeper:7.5.0

Producer (Simulate Events) - 10 min:

python
from confluent_kafka import Producer
import json, time, random

producer = Producer({'bootstrap.servers': 'localhost:9092'})

for i in range(100):
    event = {
        'transaction_id': i,
        'amount': random.uniform(100, 10000),
        'timestamp': time.time(),
        'is_fraud': 1 if random.random() < 0.05 else 0
    }
    producer.produce('transactions', json.dumps(event))
    time.sleep(0.1)  # Every 100ms

Consumer (Process Stream) - 10 min:

python
from confluent_kafka import Consumer

consumer = Consumer({
    'bootstrap.servers': 'localhost:9092',
    'group.id': 'fraud-detector',
    'auto.offset.reset': 'earliest'
})

consumer.subscribe(['transactions'])
fraud_count = 0

while True:
    msg = consumer.poll(1.0)
    if msg is None:
        continue
    event = json.loads(msg.value())

    if event['is_fraud']:
        print(f"FRAUD ALERT: Transaction {event['transaction_id']} - Amount: {event['amount']}")
        fraud_count += 1

Monitor - 5 min:

  • Consumer lag check
  • Throughput measure
  • Processing latency check

Learning: Real-time na simple (event process pannu), but reliable production na complex! ๐Ÿš€

๐Ÿ’ผ Interview Questions

Q1: Real-time system design โ€“ first decision enna?

A: "Do I REALLY need real-time?" 90% cases near real-time (minutes) podhum. True real-time expensive, complex, hard. Batch vs real-time trade-off understand pannu. Cost implications, complexity, team skills โ€“ ellam consider pannu!


Q2: Stream processing โ€“ state management challenge?

A: Stateful operations hard! Example: "Count transactions last hour" โ†’ need to remember 1 hour events. Crash aana state lose aaidum! Solution: Checkpointing (save state regularly), RocksDB (embedded store), Redis (external store). Prevention: Replay mechanism (recover from last checkpoint).


Q3: Exactly-once processing โ€“ practical?

A: Theoretically possible but expensive! Idempotent consumer + deduplication = effectively exactly-once. Most systems "at-least-once" + idempotency accept pannum. Financial systems: Exactly-once critical (transactions duplicate aagakoodadhu). Metrics/logs: At-most-once ok.


Q4: Windowing โ€“ practical use case?

A: "Count orders every 5 minutes" โ†’ Tumbling. "Moving average last hour" โ†’ Sliding. "Group events per user session" โ†’ Session window. Real-time dashboards, anomaly detection, fraud detection โ€“ ellaam windowing use pannum. Window size choose pannu carefully โ€“ too big (slow), too small (overhead)!


Q5: Real-time system scale โ€“ 1M events/sec handle panna strategy?

A: Partitioning (distribute load), parallelism (multiple consumers), batching (small micro-batches), compression (reduce network), monitoring (consumer lag track). Infrastructure: Kubernetes auto-scaling. Design: Stateless preferred (scale easy), stateful hard (state sync complex). Uber scale ha achieved, but 10+ year experience! ๐Ÿ’ช

Frequently Asked Questions

โ“ Real-time vs batch โ€” edhuvum choose pannanum?
Both venum! Lambda architecture la batch (accuracy) + real-time (speed) combine pannuvaanga. Use case decide pannum โ€” fraud detection ku real-time must, monthly reports ku batch enough.
โ“ Real-time system build panna costly ah?
Yes, batch compare la 3-5x more expensive. Infrastructure, monitoring, expertise โ€” ellam more venum. Really real-time venum ah nu first question pannunga.
โ“ Exactly-once processing possible ah?
Technically very hard. Most systems "effectively once" achieve pannuvaanga โ€” idempotent consumers + deduplication logic use panni. Kafka supports exactly-once semantics with transactions.
โ“ Real-time ku enna latency expect pannalaam?
Depends on system: True real-time < 100ms, near real-time < 1 second, micro-batch < 5 minutes. Your use case ku enna acceptable nu define pannunga first.
๐Ÿง Knowledge Check
Quiz 1 of 1

Backpressure na enna?

0 of 1 answered