← CodeClarityLab Home
Browse by Category
+ added · updated 7d
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Apache Kafka Concepts
Kafka is a distributed log — producers append to immutable, ordered topics partitioned for parallelism, consumers read at their own pace and replay from any offset.
2mo ago messaging intermediate
At-Least-Once Delivery
At-least-once delivery guarantees a message is delivered to at least one consumer, possibly multiple times — consumers must be idempotent to handle duplicates safely.
2mo ago messaging intermediate
Backpressure
Backpressure signals upstream producers to slow down when downstream consumers can't keep up — preventing queue overflow, memory exhaustion, and system collapse under load.
2mo ago messaging intermediate
Consumer Groups
Consumer groups allow multiple consumers to process messages from a topic in parallel — each partition assigned to one consumer, enabling horizontal scaling without duplicate processing.
2mo ago messaging intermediate
Dead Letter Queue
A Dead Letter Queue (DLQ) captures messages that can't be processed — expired, malformed, or repeatedly failed — enabling later inspection and replay without losing data.
2mo ago messaging intermediate
Event Sourcing vs Messaging
Event sourcing stores all state changes as immutable events (the source of truth) — messaging delivers events between services. They complement each other but serve different purposes.
2mo ago messaging intermediate
Message Broker
A message broker is middleware that receives, routes, and delivers messages between producers and consumers — decoupling services and enabling async communication at scale.
2mo ago messaging intermediate
Message Idempotency
An idempotent message handler produces the same result whether called once or many times — essential for at-least-once delivery where duplicates are expected.
2mo ago messaging intermediate
Message Ordering Guarantees
Message ordering is only guaranteed within a single Kafka partition or RabbitMQ queue — multiple partitions or consumers break FIFO order across the full topic.
2mo ago messaging intermediate
Message Queue
A durable buffer that decouples the component producing work (producer) from the component processing it (consumer), enabling async processing, load levelling, and retry logic without direct coupling.
2mo ago messaging intermediate
Message Queue Patterns
Core messaging patterns — competing consumers, scatter-gather, request-reply, message filter, and routing slip — solve recurring distributed communication challenges.
2mo ago messaging intermediate
Message Serialization (Avro/Protobuf)
Binary serialization formats (Avro, Protobuf, MessagePack) are faster and smaller than JSON for high-throughput messaging — with schema evolution support for Avro.
2mo ago messaging intermediate
RabbitMQ Concepts
RabbitMQ is an AMQP message broker with flexible routing via exchanges — direct, topic, fanout, and headers routing enables complex message dispatch patterns.
2mo ago messaging intermediate
RabbitMQ Fundamentals PHP 7.0+
A message broker implementing the AMQP protocol — producers publish to exchanges, exchanges route messages to queues via bindings, and consumers pull from queues — providing flexible routing, acknowledgements, and dead-letter handling.
2mo ago messaging intermediate
Topics & Partitions
Kafka topics are divided into partitions — the unit of parallelism and ordering. More partitions = more parallelism; partition key determines which partition a record lands in.
2mo ago messaging intermediate
Event Bus Patterns PHP 7.0+
Patterns for routing events between publishers and subscribers — in-process event buses (Symfony EventDispatcher), message broker buses (RabbitMQ, Kafka), and hybrid architectures.
2mo ago messaging intermediate
Message Serialisation
JSON (readable, flexible), Avro (schema-enforced, compact, Kafka standard), Protobuf (typed, 5-10x smaller) — matching format to volume and schema requirements.
2mo ago messaging intermediate
PHP Queue Workers PHP 7.0+
Laravel Horizon for Redis queues with dashboard and auto-scaling; Supervisor for process management ensuring crashed workers automatically restart.
2mo ago messaging intermediate
Queue-Based Load Levelling
Using a queue between producers and consumers to absorb traffic spikes — producers enqueue at any rate, consumers process at a sustainable rate, preventing the backend from being overwhelmed.
2mo ago messaging intermediate
Diagram: RabbitMQ RabbitMQ PHP 7.0+
A message broker implementing AMQP — producers publish to exchanges, exchanges route to queues, consumers pull from queues — providing durable, reliable message delivery.
2mo ago messaging intermediate
✓ schema.org compliant