A message queue topic for async communication
A queue or topic is a named channel that lets services exchange messages without calling each other directly. The producer drops a message and moves on; the consumer reads it when ready. That decoupling is the whole point, and it comes with a set of guarantees about ordering, delivery, and what happens when the consumer falls behind, none of which are free.
Message-oriented middleware was codified by Gregor Hohpe and Bobby Woolf in Enterprise Integration Patterns (2003), which described 65 patterns for moving data through messagingMessagingGo-To-MarketMessaging framework and key messagesView reference → systems. Their distinction between a point-to-point channel (one message, one consumer) and a publish-subscribe channel (one message, many subscribers) still names the two shapes most systems pick between.
Apache Kafka, open-sourced in 2011, reframed the topic as a durable, replayable log. A traditional queue deletes a message once it is consumed; Kafka retains messages for a configured period regardless of who has read them, so any number of consumer groups can read the same stream independently and a new consumer can replay history. That shift, from transient delivery to a retained log, is why "topic" now often implies a durable stream that many consumers can replay.
Delivery semantics are where teams get burned. Kafka guarantees at-least-once delivery by default; exactly-once is achievable with idempotent producers and transactional writes, but it is not the default path, and most systems that claim exactly-once actually run at-least-once with downstream deduplication. Designing consumers to be idempotent is the honest baseline.
An e-commerce platform publishes an OrderPlaced event to a topic. Three consumer groups subscribe: fulfilment, email, and analytics, each reading the same stream at its own pace. On a flash-sale morning the order service emits 4,000 events per second while the email service can only process 600. With a synchronous call this back-pressure would stall checkout. With a retained topic, the email consumer simply lags behind, draining the backlog over the next twenty minutes while orders keep flowing. Because delivery is at-least-once, the email consumer deduplicates on order_id, so a redelivered event after a restart does not send a second confirmation.
In the Unified Product Graph, Queue TopicEngineeringA message queue topic is a leaf in the Engineering & Platform region, whose mental model runs from bounded contextBounded ContextEngineeringA DDD bounded context defining a service boundaryView reference → through service to the channels and schemas beneath it. Its defining edge is queue_topicServicepublishes toQueue Topichierarchy, a hierarchy edge that records which service owns the publishing side. That single relationship makes the decoupling legible: a reader can see every topic a service emits to, and by extension trace the asynchronous seams where back-pressure absorbs load and where delivery guarantees, in place of direct calls, hold the system together.service_publishes_to_queue_topic
Type-specific fields on BaseNode
queue_typestringTechnology
retention_hoursnumberMessage retention in hours
consumer_groupsstringConsumer group names
has_dead_letter_queuebooleanWhether a dead-letter queue is configured. Absent or `false` flags a message-loss risk. A DLQ is critical for debugging failed message processing.
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
1 edge type connected to this entity.
service_publishes_to_queue_topic