Pub/Sub (Publish-Subscribe) is a messaging pattern in which producers publish messages to a named channel (topic) without knowing who consumes them, and consumers subscribe to topics they care about without knowing who produced the messages. The pattern decouples producers from consumers, enabling fan-out, replay, and asynchronous processing.

How it differs from queues

  • Queue…

Serverless is a cloud execution model in which the provider runs and scales the underlying compute, and the customer is billed only for actual usage (request count, execution time, memory). Despite the name, servers still exist; they are simply invisible to the customer. "Serverless" usually refers to functions-as-a-service (FaaS), but increasingly includes serverless databases, queues, and…

Saga

A Saga is a pattern for executing a business transaction that spans multiple services or databases by chaining local transactions together, with compensating actions to roll back partial progress on failure. Sagas replace distributed transactions (two-phase commit) in microservice systems where global ACID across services is impractical.

How it works

A saga breaks a business transaction into a…

Modular Monolith

A modular monolith is a single-deployable application built with strict internal module boundaries: clear ownership per module, explicit interfaces between them, no shared mutable state across boundaries. The result combines monolithic operational simplicity with most of the structural benefits of microservices.

How it works

Each module owns its own data, its own domain logic, and exposes a…

Monolith

A monolith is an application packaged and deployed as a single unit: one codebase, one build, one process, one database. Everything ships together. Most applications start as monoliths and many remain so for their entire useful life; the term has acquired a pejorative tone in recent years that obscures how often it is the right choice.

Strengths

  • Simple operations. One thing to deploy, one…

RabbitMQ is an open-source message broker that implements the AMQP protocol along with several others (MQTT, STOMP). Where Kafka is a log-oriented streaming platform, RabbitMQ is a flexible message router optimised for traditional work queues, RPC, and complex routing topologies.

Core concepts

  • Producer. Publishes messages to an exchange.
  • Exchange. Routes messages to queues via bindings;…
Page 1