Fact-checked by Grok 2 weeks ago

Message broker

A message broker is software that acts as an intermediary to facilitate communication and data exchange between disparate applications, systems, and services, often by translating messages across different protocols, languages, or platforms to ensure seamless . It typically employs asynchronous messaging patterns, such as point-to-point queues or publish-subscribe topics, to decouple producers and consumers, allowing for reliable storage, routing, and delivery of messages without direct dependencies. This design enhances and in distributed environments like architectures or hybrid clouds. Key functions of a message broker include validating incoming messages, providing persistence for guaranteed delivery, and supporting transformation or enrichment of data en route to recipients. For instance, in a point-to-point model, messages are queued for delivery to one consumer at a time, often load-balanced among multiple consumers for concurrent processing, while publish-subscribe enables one-to-many distribution where multiple subscribers receive copies of relevant messages. As a logical , it complements service-oriented architectures by copying and resending messages to appropriate destinations, reducing the complexity of direct integrations. Message brokers offer significant benefits, including improved system through asynchronous operations that prevent cascading failures, and enhanced by offloading communication logic from individual applications. They are widely used in settings for processing, event-driven architectures, and integrating systems with cloud-native services, promoting efficiency and maintainability.

Fundamentals

Definition and Purpose

A message broker is a software application or service that functions as an in distributed systems, enabling asynchronous communication between applications by receiving messages from producers, routing them based on predefined rules, and delivering them to consumers. This role allows applications written in different languages or running on diverse platforms to exchange information without direct connections, often translating messages between incompatible protocols to ensure seamless . The primary purpose of a message broker is to decouple message producers from consumers, allowing each to operate independently without knowledge of the other's location, status, or implementation details. This decoupling promotes scalability by enabling systems to handle increasing loads through horizontal expansion, enhances fault tolerance by buffering messages during temporary outages, and facilitates integration across heterogeneous environments, such as in event-driven architectures where real-time notifications trigger actions across services. For instance, in microservices ecosystems, message brokers support the flow of events like user transactions or sensor data, ensuring reliable propagation even under variable network conditions. Key benefits include reduced direct dependencies between components, which minimizes cascading failures, and built-in load balancing to distribute s efficiently among multiple consumers. Message brokers also handle translations, such as converting HTTP requests to AMQP-formatted s, enabling systems to interoperate with modern . In terms of basic terminology, a consists of a carrying the core along with like headers for and keys for directing ; queues serve as temporary buffers that hold s until they are processed, ensuring ordered and reliable consumption.

Historical Development

Message brokers emerged in the late and early as part of middleware designed to facilitate between mainframe systems and distributed applications, addressing the need for reliable communication in heterogeneous environments. One of the earliest commercial implementations was IBM's MQSeries, released in 1993, which introduced message queuing capabilities for asynchronous data exchange across platforms like and AIX, enabling application interactions in settings. Similarly, TIBCO , originally developed by Teknekron Software Systems in the early 1990s, was acquired by in 1994 and later commercialized by TIBCO following its from in 1997, pioneering publish-subscribe messaging for real-time financial trading and event-driven architectures. A significant milestone came with the standardization of messaging APIs through the Java Message Service (JMS) specification, version 1.0, finalized in 1997 by , which provided a vendor-neutral for Java applications to interact with message brokers, promoting portability and adoption in Java environments. The early 2000s saw the rise of open-source alternatives, democratizing access to these technologies via community-driven development. , initially released in May 2004 by LogicBlaze before entering the Apache Incubator in 2005, offered multi-protocol support including and STOMP for flexible integration. This period also marked the influence of , with (SQS) launching in production in July 2006 as a fully managed queuing service, scaling to unlimited queues and enabling pay-as-you-go asynchronous messaging for web-scale applications. followed in February 2007, implementing the (AMQP) for robust routing and reliability in distributed systems. The evolution accelerated in the with a shift from synchronous remote procedure calls (RPC) to asynchronous messaging paradigms, reducing coupling and improving in dynamic environments, as emphasized in discussions on brokered versus direct communication models. , originally developed at and open-sourced in 2011, introduced high-throughput event streaming, transforming message brokers into platforms for log aggregation and pipelines. Post-2010, message brokers became integral to architectures, supporting event-driven patterns for service and , as microservices gained prominence around 2014. In the 2020s, adoption of event streaming has surged, with brokers like Kafka enabling processing and in cloud-native ecosystems, driven by the growth of and workloads. Open-source communities, through projects under and similar initiatives, have played a pivotal role in this democratization, fostering innovations like multi-broker interoperability.

Architecture

Core Components

Message brokers typically include components for message storage, routing, and management to facilitate communication between producers and consumers. Common storage mechanisms include queues for point-to-point messaging, where messages are held until processed by a consumer, or topics in publish-subscribe systems for broadcasting. In queue-based systems like those using AMQP, queues can be configured with properties such as (persistent across restarts), transience (temporary in-memory ), exclusivity (tied to a single connection), and auto-deletion (removed after last consumer disconnects). Routing is handled by mechanisms that direct messages to appropriate storage based on rules. In AMQP-based brokers like RabbitMQ, exchanges act as routing engines, receiving messages from producers and forwarding them to queues. Exchange types include direct (exact routing key match), topic (pattern matching on keys), and fanout (broadcast to all bound queues). Exchanges may also have durability and auto-deletion properties. Other brokers, such as Apache Kafka, use topic subscriptions and partitions for routing and distribution. Bindings in AMQP connect exchanges to queues using keys or headers to define paths, enabling flexible without direct producer-to-queue links. Producers generate and publish messages to the broker's entry point (e.g., exchanges in AMQP or topics in Kafka), often specifying persistence options. Consumers subscribe to storage (queues or topics) to retrieve and process messages, using acknowledgments for reliable delivery—automatic or manual to manage failures. The broker decouples these entities. For multi-tenancy, some brokers use virtual hosts to partition resources like queues and exchanges within a single instance. Connections typically use protocols such as AMQP for enterprise use or for , over with authentication and TLS support.

Message Processing Lifecycle

The message processing lifecycle encompasses creation, routing, storage, delivery, and acknowledgment in a message broker, ensuring reliable asynchronous communication. Producers serialize data (e.g., to or ) and send messages to the broker's entry point—such as an exchange in AMQP or a topic in Kafka—via appropriate protocols. The broker routes the message using predefined rules (e.g., routing keys in AMQP, topic partitions in Kafka) to suitable storage without retaining it long-term in the router. It then queues the message, buffering in memory or persisting to disk for durability across restarts. Delivery dispatches the message to consumers via polling (synchronous) or push (asynchronous). Consumers process it and acknowledge receipt, removing it from storage; unacknowledged messages may redeliver after timeouts. Error handling includes dead-letter queues for failed messages (e.g., expired or rejected), retries, and connection timeouts. Delivery often guarantees at-least-once semantics via acknowledgments and redelivery, with possible duplicates; exactly-once requires higher-level idempotency or transactions. Throughput, in messages per second, can reach millions in systems like Kafka under optimized conditions. Batching groups messages (e.g., Kafka's batch.size default 16 KB, linger.ms default 0 ms in versions before 4.0 or 5 ms thereafter) to boost efficiency, reducing overhead at the cost of potential .

Messaging Patterns

Publish-Subscribe Model

The publish-subscribe (pub-sub) model is a in which publishers send messages to designated topics managed by a message broker, without direct knowledge of or interaction with the subscribers. The broker then routes these messages to all subscribers who have expressed interest in the relevant topics through subscriptions or filters, enabling asynchronous, one-to-many communication. Key characteristics of the pub-sub model include between publishers and subscribers, achieved via topic-based routing and optional filtering mechanisms that allow subscribers to receive only pertinent messages. This supports in scenarios, where a single message can be disseminated to numerous recipients efficiently, promoting and flexibility in distributed systems. Unlike point-to-point models that deliver messages to a single , pub-sub facilitates broadcast-style distribution for scenarios requiring multiple recipients. In message brokers, the pub-sub model is implemented through specific constructs such as topic exchanges in , where publishers route messages to exchanges using routing keys that match subscriber queue bindings, enabling pattern-based distribution. Similarly, in , messages are published to hierarchical topics (often called subjects), and subscribers register interest using topic filters with wildcards for broad or selective reception. Common applications include news feeds, where updates are pushed to multiple clients, and event notifications in real-time systems like stock tickers or sensor data streams. The pub-sub model offers advantages such as high , which simplifies system maintenance and allows independent scaling of components, and enhanced for handling large-scale event dissemination without overwhelming publishers. However, it can lead to disadvantages like message duplication if subscribers receive redundant copies due to overlapping filters, potential overload on the broker from high volumes, and the risk of subscribers missing if they are offline during publication, depending on retention policies.

Point-to-Point Model

The point-to-point model, also known as the or point-to-multipoint , enables producers to send messages to a designated , where each message is consumed by exactly one . If multiple consumers are subscribed to the same , the broker distributes messages among them in a load-balanced manner, ensuring no duplication of processing. This model is particularly suited for scenarios requiring directed communication, such as task distribution or workload balancing across workers. Key characteristics of the point-to-point model include first-in, first-out () ordering of messages based on their arrival time at the , which preserves the sequence of production for reliable processing. Consumers typically use to confirm successful receipt and processing of a ; without acknowledgment, the broker retains the for redelivery, enhancing reliability in case of failures. This pattern is ideal for applications like job queues, where tasks such as need to be assigned to a single processor without broadcasting. For instance, in an system, incoming orders are queued for sequential handling by available fulfillment services. In message brokers, the point-to-point model is implemented through mechanisms like direct exchanges in the (AMQP), where messages are routed to queues based on exact routing key matches, supporting delivery. Similarly, the Java Message Service () uses simple s for this purpose, allowing multiple producers to enqueue messages while ensuring exclusive consumption. Common use cases include request-response patterns akin to remote procedure calls (RPC), where a client sends a request to a queue and awaits a reply from a dedicated server queue. The advantages of the point-to-point model lie in its ability to guarantee delivery to a single recipient, facilitating straightforward load balancing and of producers from consumers without the overhead of broadcasting. However, a notable disadvantage is the potential for bottlenecks when queues accumulate unprocessed messages, leading to delays if consumer capacity is insufficient or if processing times vary significantly.

Key Features

Reliability Mechanisms

Message brokers employ various reliability mechanisms to ensure message delivery, prevent , and maintain system resilience in the face of failures. These mechanisms address potential points of failure in distributed messaging systems, such as network disruptions, node crashes, or broker restarts, by providing guarantees for , confirmation of delivery, and coordinated operations. Durability in message brokers refers to the use of persistent storage to safeguard messages against broker restarts or crashes. Messages are written to durable storage, typically disk-based, rather than held solely in , ensuring they survive system failures. For instance, in systems adhering to the AMQP protocol, durable queues and persistent message flags enable this persistence, with brokers committing messages to non-volatile storage before acknowledging receipt. In-memory options may be used for performance-critical scenarios but sacrifice durability for speed. Acknowledgments provide a confirmation mechanism to verify that messages have been successfully received and , enabling at-least-once semantics. Producers receive broker after messages are durably stored, while consumers send confirmations upon processing to signal safe removal from the ; unacknowledged messages can be redelivered. Modes include acknowledgments for , which risk data loss on consumer failure, and manual acknowledgments for stricter control. In , producer acknowledgment levels (e.g., requiring all in-sync replicas) further tune this balance between reliability and throughput. Transactions ensure atomicity in message operations, particularly in distributed environments, by coordinating commits across multiple queues or systems. Message brokers often support XA-compliant transactions for two-phase commits, allowing producers to bundle sends and consumers to group acknowledgments in a single atomic unit. To handle retries without duplication, idempotency mechanisms assign unique identifiers to messages, ensuring repeated deliveries do not create duplicates. The AMQP specification outlines transactional resources and controllers to facilitate this, enabling reliable, coordinated messaging in enterprise integrations. Fault tolerance is achieved through clustering, replication, and strategies to maintain during component . Brokers form clusters where and queues are shared or replicated across , with replication factors (e.g., queues to multiple replicas) ensuring . In case of , and automatic redirect traffic to healthy nodes, targeting high uptime such as 99.99%. For example, quorum-based replication requires a of replicas to acknowledge writes, balancing and in partitioned networks. Security basics in message brokers include authentication and authorization to protect against unauthorized access. Authentication often uses SASL mechanisms, such as PLAIN or SCRAM-SHA-1, to verify client identities during connection establishment, integrated with TLS for encrypted transport. Authorization employs access control lists (ACLs) to define permissions on queues and topics, restricting operations like publish or consume to specific users or roles. The AMQP protocol standardizes SASL for authentication layers, ensuring secure, reliable message exchanges.

Real-Time Processing

Message brokers support real-time processing by providing semantics that ensure low-latency delivery and message ordering for time-sensitive applications. Bounded latency guarantees, such as end-to-end delays in the low milliseconds, are achieved through optimized configurations in systems like Apache Kafka. Ordering preservation is maintained via partitioned sequencing in brokers like Kafka and RabbitMQ, ensuring messages within a partition or queue are delivered in the sequence they were produced, which is critical for event-driven workflows. Key techniques enable this low-latency handling, including in-memory queuing, which stores messages in rather than on disk to reduce access times, as seen in where sub-millisecond latencies are common for high-throughput scenarios. Priority queues further support real-time needs by assigning integer priorities to messages (e.g., 0-255 in classic queues), allowing higher-priority items to be dequeued first and ensuring urgent messages bypass lower ones during peak loads. Streaming protocols like WebSockets integrate with message brokers such as Kafka to facilitate bidirectional, persistent connections for pushes, enabling seamless delivery of live updates over the without polling. Challenges in processing arise from balancing speed with reliability, where features like replication for can introduce delays; for instance, Kafka's replication increases throughput but may elevate latency under heavy replication factors. Handling high-velocity data, such as streams from thousands of sensors, demands scalable without bottlenecks, yet resource-constrained devices and intermittent networks complicate direct broker , often requiring gateways that add overhead. Performance metrics like —variation in —and throughput under load quantify these capabilities; for example, brokerless libraries achieve jitter as low as 1 µs, while Kafka sustains throughputs exceeding 1 million messages per second with P99 latencies in the low milliseconds in distributed setups. In , message brokers power trade alerts by processing streams with sub-millisecond latencies to notify traders of movements. Similarly, in gaming, Kafka enables live updates for multiplayer events, handling massive interactions like player actions across distributed servers.

Implementations

Open-Source Examples

Apache Kafka is a prominent open-source distributed event streaming platform originally developed by in 2011 to handle high-volume data ingestion and processing. It emphasizes event streaming with features like high-throughput partitioning, which enables scalable data pipelines by dividing topics into ordered partitions across multiple brokers. Kafka is particularly suited for use cases such as log aggregation, where it stores and replays streams of records in a durable, append-only log, supporting analytics and at massive scales. RabbitMQ serves as a versatile open-source message broker, first released in 2007 and implemented in Erlang for robust concurrency and . It natively supports the (AMQP) while accommodating multiple protocols like and STOMP, allowing flexible integration across diverse systems. RabbitMQ excels in handling complex routing scenarios through exchanges and bindings, making it ideal for task distribution, workload balancing, and scenarios requiring sophisticated message transformation and delivery guarantees in enterprise environments. Apache ActiveMQ, initiated in 2004 by LogicBlaze as an open-source project, is a -based message broker fully compliant with the (JMS) specification. It supports both publish-subscribe and point-to-point messaging patterns, enabling reliable queuing and topic-based distribution with features like message persistence and transactions. ActiveMQ integrates seamlessly with enterprise Java ecosystems, including and Java EE, and offers protocol support for cross-language clients, making it a staple for modernization and hybrid deployments. Other notable open-source message brokers include NATS, a lightweight and high-speed system originally developed for , which prioritizes simplicity and low-latency pub-sub communication for cloud-native and edge applications. Apache Pulsar, initially created by around 2013 and donated to in 2016, provides multi-tenant streaming capabilities with geo-replication and tiered storage, supporting both queuing and streaming workloads in large-scale, isolated environments. These projects, along with Kafka, RabbitMQ, and ActiveMQ, are governed by community-driven efforts under or similar open-source foundations, typically licensed under the 2.0 to ensure broad accessibility and collaborative development.

Commercial Solutions

IBM MQ, formerly known as WebSphere MQ and originally launched as MQSeries in 1993, provides robust enterprise messaging capabilities with advanced security features such as and protection through its Advanced Message Security component. It supports clustering for and workload balancing across multiple queue managers, enabling seamless scalability in mission-critical environments. Widely adopted in the sector, IBM MQ facilitates secure for over 90% of the top 100 global banks, ensuring reliable message delivery in high-stakes financial operations. TIBCO Message Service () delivers high-performance messaging compliant with the Java Message Service (JMS) standard, optimized for low-latency communication in applications. It incorporates fault-tolerant configurations, including primary-secondary pairs that share stores to maintain continuous operation during failures, supporting enterprise integration across heterogeneous systems. Solace PubSub+ operates as a hybrid solution available in hardware appliance, software, and cloud service forms, enabling flexible deployment for event streaming at massive scale. Designed for high-volume scenarios, it sustains connections with millions of devices in ecosystems and supports infrastructure by routing events across distributed networks with guaranteed delivery. Amazon Simple Queue Service (SQS) and Simple Notification Service (SNS), introduced starting with SQS in 2006, offer cloud-native, fully managed queuing and publish-subscribe functionalities in a serverless architecture. These services integrate seamlessly with other AWS components, providing decoupling for and event-driven workflows under a pay-per-use pricing model that charges based on request volume and data transfer. Commercial message brokers typically include vendor-provided support through service level agreements (SLAs) guaranteeing uptime, such as AWS's 99.9% availability for SQS, alongside certifications like FIPS 140-2 compliance for cryptographic modules to meet regulatory requirements in secure environments. Pricing models vary, encompassing subscription-based licenses for on-premises deployments like IBM MQ and TIBCO EMS, usage-based fees for cloud offerings like Solace PubSub+ and AWS services, and enterprise support contracts that ensure dedicated assistance and integration consulting.

Applications

In Distributed Systems

In distributed systems, message brokers serve as intermediaries that facilitate asynchronous communication between services, enabling efficient coordination across clusters. They support by allowing clients to dynamically locate available brokers through protocols like bootstrap servers in , where metadata about topic partitions is queried to identify active nodes. Load distribution is achieved via partitioning mechanisms, where incoming messages are spread across multiple brokers or consumers, balancing computational resources and preventing bottlenecks in large-scale environments. Additionally, failure isolation is ensured through replication and processes; for instance, if a broker fails, replicas on other nodes take over without disrupting the overall system availability, isolating the impact to specific partitions. Practical examples illustrate these roles in real-world distributed setups. In the Hadoop ecosystem, brokers like integrate as a data ingestion layer for pipelines, capturing from sources such as logs or sensors and routing them to Hadoop components like HDFS or for , thereby decoupling producers from consumers in petabyte-scale analytics workflows. Similarly, in clusters, message brokers enable pod-to-pod messaging by providing a centralized pub-sub or queue-based , allowing ephemeral containers to exchange events without direct network dependencies, which enhances portability across nodes. Message brokers address key challenges in distributed environments, such as network partitions and consistency issues. To handle network partitions, brokers employ mechanisms—periodic signals sent between nodes and coordinators—to detect failures promptly; in Kafka, configurable intervals (default 3 seconds for consumers) trigger rebalancing or , ensuring the cluster remains operational even during temporary connectivity losses. For integrations with databases, brokers promote by delivering messages asynchronously, allowing distributed replicas to propagate updates over time without requiring immediate , which aligns with models in systems like where reads may reflect stale data briefly before . Scalability in distributed systems is a core strength of message brokers, achieved through horizontal scaling via sharding, where topics or queues are divided into partitions distributed across broker instances. This approach allows clusters to expand linearly by adding nodes, supporting petabyte-scale flows; for example, Kafka's tiered and partitioning enable retention of historical across brokers while handling trillions of messages daily in environments. Such sharding not only distributes and loads but also maintains high throughput, making brokers suitable for fault-tolerant, large-cluster deployments.

In Cloud and Microservices

In environments, message brokers provide fully managed, serverless services that eliminate infrastructure management while enabling scalable communication across applications and devices. Service Bus, for instance, operates as a serverless enterprise message broker supporting queues and publish-subscribe topics, allowing developers to decouple producers and consumers without handling hardware, operating systems, or backups. This facilitates load balancing across competing workers and spans multiple availability zones for . Similarly, Managed Streaming for (MSK) incorporates auto-scaling policies that automatically expand cluster storage in response to usage spikes, increasing capacity by at least 10 GiB or 10% of current storage every six hours to maintain performance without manual intervention. In hybrid cloud setups, message brokers bridge on-premises and cloud systems; for example, MQ supports network-of-brokers configurations with ActiveMQ to integrate legacy on-premises environments with AWS cloud resources, ensuring seamless data flow. Within architectures, message brokers enable patterns like event sourcing and to manage distributed transactions and maintain consistency across independent services. Event sourcing persists an application's state as a sequence of immutable events in an event store that doubles as a message broker, ensuring updates to databases and reliable event delivery to subscribers, which supports auditability and temporal queries without two-phase commit protocols. The pattern coordinates long-running transactions by sequencing local transactions, where each service updates its database and publishes a message or event via the broker to trigger the next step; if a step fails, compensating transactions are invoked to rollback changes, as seen in choreography-based where services react to domain events. Additionally, message brokers assist in gateway offloading by handling asynchronous inter-service communication, allowing gateways to focus on edge functions like authentication while routing non-urgent tasks—such as notifications or —to the broker for decoupling. Practical examples illustrate these integrations in modern applications. In e-commerce order flows, a message broker routes order data between decoupled , such as inventory management (updating stock levels) and fulfillment (processing shipments), ensuring reliable execution even if individual services experience delays. For real-time analytics in serverless setups, functions can be triggered directly from Amazon MSK topics, processing streaming events from Kafka brokers to perform computations like aggregation or without provisioning servers. Post-2020 trends have accelerated message broker adoption alongside and serverless paradigms, driven by the growth of the market from USD 21.9 billion in 2024 to a projected USD 44.7 billion by 2029 at a 15.3% CAGR. operators, such as the Cluster Operator and Messaging Topology Operator, automate deployment and management of brokers in containerized environments, enabling declarative scaling and topology configuration for in . This rise supports event-driven architectures in cloud-native applications, where brokers handle increased demands for asynchronous, scalable messaging in hybrid and multi-cloud deployments.

References

  1. [1]
    What Is a Message Broker? | IBM
    A message broker is software that enables applications, systems and services to communicate and exchange information.What is a message broker? · Message broker models
  2. [2]
    What is a Message Broker? - Tibco
    A Message Broker is a discrete service that can provide data marshaling, routing, message translation, persistence and delivery to all the appropriate ...
  3. [3]
    Definition of Message Broker - Gartner Glossary
    A message broker is a logical hub that copies and resends messages to one or more destinations. As a value-adding third party between information sources and ...
  4. [4]
    AMQP 0-9-1 Model Explained - RabbitMQ
    Messaging brokers receive messages from publishers (applications that publish them, also known as producers) and route them to consumers (applications that ...
  5. [5]
  6. [6]
    Inter-Protocol Property Conversions | RabbitMQ
    This document aims to capture the conversions rules that are implemented so that application developers can look back at this to understand how their messages ...
  7. [7]
    The Past, Present and Future of Message Queue 1 - Vanus AI
    Dec 18, 2022 · This article recreates the message system's history from its birth to the present in a narrative form based on a thread of the development of the Internet.Missing: milestones | Show results with:milestones
  8. [8]
    The Message Broker Evolution: From IBM MQ to Modern Streaming ...
    Nov 23, 2024 · The message broker evolution: From IBM MQ to modern streaming. The journey: 1993: IBM MQ launches, pioneering enterprise messaging.Missing: origins | Show results with:origins
  9. [9]
    Message Brokers: Translators for the Digital Age | TDK Technologies
    Origins of Message Brokers. TIBCO MQ software dominated the financial services industry initially. Then IBM developed competing message queuing software ...Missing: history | Show results with:history
  10. [10]
    [PDF] JMS Specification
    Apr 3, 2011 · This specification describes the objectives and functionality of the Java. Message Service (JMS). JMS provides a common way for Java programs ...
  11. [11]
    ActiveMQ Incubation Status
    2005-12-09 Project announced publicly. 2005-11-18 Project proposed and accepted for incubation in Apache. 2006-03-29 ActiveMQ 4 fully integrated into ...
  12. [12]
    Amazon Simple Queue Service Released | AWS News Blog
    Jul 13, 2006 · SQS is now in production. The production release allows you to have an unlimited number of queues per account, with an unlimited number of items in each queue.
  13. [13]
    Release Information - RabbitMQ
    RabbitMQ 4.3 is the release series currently under active development. It is expected to be released in the first half of 2026. Support Policy​. For regularly ...
  14. [14]
    Apache Kafka: Past, Present and Future - Confluent
    In 2011, Kafka was released an Apache open source project. Since then, the use of Kafka has grown rapidly in a variety of businesses. Now more than 30% of ...
  15. [15]
    Microservices - Martin Fowler
    The microservice architectural style 1 is an approach to developing a single application as a suite of small services, each running in its own process.
  16. [16]
    The Past, Present and Future of Stream Processing - Kai Waehner
    Mar 20, 2024 · Message Brokers like IBM MQ or TIBCO EMS were a common way to decouple applications. Applications send data and receive data in an event-driven ...
  17. [17]
    [PDF] Evolution of message brokers. From helpers to cores.
    Message broker is a core element of an infrastructure. 9. Artem Demchenkov. Evolution of message brokers: from helpers to cores. Codemotion Berlin 2017. Message.
  18. [18]
    [PDF] AMQP Advanced Message Queuing Protocol - RabbitMQ
    Nov 13, 2008 · 2.1.2.1 Message Life-cycle. An AMQP message consists of a set of properties plus opaque content. A new “message” is created by a producer ...
  19. [19]
  20. [20]
  21. [21]
    Dead Letter Exchanges - RabbitMQ
    Messages from a queue can be "dead-lettered", which means these messages are republished to an exchange when any of the following four events occur.
  22. [22]
  23. [23]
    Benchmarking RabbitMQ vs Kafka vs Pulsar Performance - Confluent
    Aug 21, 2020 · We enable batching for all three systems to optimize for throughput. We batch up to 1 MB of data for a maximum of 10 ms. Pulsar and Kafka were ...
  24. [24]
    What is Pub/Sub Messaging? - Amazon AWS
    The publish-subscribe model reduces complexity by removing all the point-to-point connections with a single connection to a message topic. The topic will ...What are the features of a pub... · What are the benefits of pub...
  25. [25]
    Publisher-Subscriber pattern - Azure Architecture Center
    The Publish-Subscribe pattern builds on the Observer pattern by decoupling subjects from observers via asynchronous messaging. Message Broker pattern. Many ...
  26. [26]
    Publish-Subscribe - Intro to Pub-Sub Messaging - Confluent
    Publish/subscribe messaging, also known as pub/sub, is a messaging framework commonly used for asynchronous communication between services.
  27. [27]
    An Introduction to the Publish-and-Subscribe Model - IBM
    The publish-and-subscribe model is a specific type of message-based solution in which messages are exchanged anonymously through a message broker.
  28. [28]
    What is Publish-Subscribe (Pub/Sub Model)? - PubNub
    Sep 21, 2023 · One major advantage of pub/sub over traditional messaging is scalability. Traditional messaging can become a bottleneck as the number of ...How does Pub/Sub work? · Pub/Sub vs. Traditional... · Pub/Sub Use Cases
  29. [29]
    The publish-subscribe pattern: Everything you need to know about ...
    Feb 19, 2025 · At its core, the publish-subscribe pattern uses a messaging system and channels to distribute events from publishers to subscribers. Messaging ...<|control11|><|separator|>
  30. [30]
    RabbitMQ tutorial - Publish/Subscribe
    In this part we'll do something completely different -- we'll deliver a message to multiple consumers. This pattern is known as "publish/subscribe".
  31. [31]
    MQTT Publish/Subscribe Architecture (Pub/Sub) - HiveMQ
    Rating 9.1/10 (64) Jun 6, 2023 · In this article, we will delve into the Pub/Sub architecture, also known as pub/sub, which is a messaging pattern in software architecture.MQTT: Pub/Sub Decoupling... · MQTT: Pub/Sub Message...
  32. [32]
    The pros and cons of the Pub-Sub architecture pattern - Red Hat
    May 6, 2021 · Requires a well-defined policy for message formatting and message exchange; otherwise, message consumption can become mangled and error-prone.
  33. [33]
    What Is Pub/Sub? Publish/Subscribe Messaging Explained
    Jul 26, 2021 · Advantages of publish/subscribe pattern · Decoupled/loosely coupled components · Greater system-wide visibility · Real-time communication · Ease of ...
  34. [34]
    Pub/Sub Model Fundamentals: An In-Depth Explanation
    Rating 4.3 (3) Dec 12, 2023 · Here are some disadvantages to consider: Increased latency: While the Pub/Sub model is excellent for real-time communication, it may introduce ...Semantics Delivery · When to use the publish... · How do message queues and...
  35. [35]
    Publisher-Subscriber Model | Baeldung on Computer Science
    Mar 18, 2024 · 4. Advantages and Disadvantages of the Pub-Sub Model ; Increased complexity, The use of a message broker adds complexity to the system, making it ...3. How The Pub-Sub Model... · 4. Advantages And... · 5. Use Cases For The Pub-Sub...
  36. [36]
    Point-to-point messaging - IBM
    In point-to-point messaging, JMS producers and consumers exchange messages by using a destination which is called a queue.
  37. [37]
    Controlling Message Acknowledgment (The Java EE 6 Tutorial)
    Until a JMS message has been acknowledged, it is not considered to be successfully consumed. The successful consumption of a message ordinarily takes place in ...
  38. [38]
    Messaging Concepts - ActiveMQ
    A classic example of point to point messaging would be an order queue in a company's book ordering system. Each order is represented as a message which is sent ...
  39. [39]
    5 Vital Challenges Faced with Messaging Queues - RisingWave
    Jun 3, 2024 · Message queue congestion arises when queues are overwhelmed with incoming messages, causing bottlenecks that hinder message processing speed.
  40. [40]
    Differences between PointToPoint and Publish/subscribe model in ...
    Jul 12, 2025 · These two are programming models that support asynchronous messaging between heterogeneous systems. There are some important terms, which will ...
  41. [41]
    OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0 ...
    It defines a binary wire-level protocol that allows for the reliable exchange of business messages between two parties. AMQP has a layered architecture and the ...
  42. [42]
  43. [43]
    Reliability Guide | RabbitMQ
    This guides provides an overview features of RabbitMQ and (some) of its supported protocols related to data safety and failure handling.
  44. [44]
  45. [45]
  46. [46]
  47. [47]
    Clustering Guide | RabbitMQ
    ### Fault Tolerance: Clustering, Replication, Failover in RabbitMQ
  48. [48]
  49. [49]
  50. [50]
    Use access control lists (ACLs) for authorization in Confluent Platform
    Access control lists (ACLs) provide important authorization controls for your organization's Apache Kafka® cluster data.
  51. [51]
    (PDF) Evaluating Message Brokers: Performance, Scalability, and ...
    Dec 2, 2024 · This paper evaluates various message broker solutions, focusing on their performance, scalability, and suitability for diverse application needs.Missing: acknowledgments | Show results with:acknowledgments
  52. [52]
    [PDF] Low Latency Message Brokers - IRJET
    Indicating the wide range of applications where Kafka can be used which are applications having real time processing constraints and low latency requirements.
  53. [53]
    Classic Queues Support Priorities - RabbitMQ
    Priority queues deliver messages in the order of message priorities. A message priority is a positive integer value set by publishers at publishing time.
  54. [54]
    Streaming realtime data over the Internet with Kafka and WebSockets
    Nov 15, 2024 · This article involves using a WebSocket-based realtime messaging middleware between Kafka and your Internet-facing users.
  55. [55]
    Kafka for IoT: 4 key capabilities and top use cases in 2025 - Instaclustr
    With IoT devices generating massive streams of real-time data, Kafka serves as the perfect backbone for processing, transferring, and analyzing this data with ...
  56. [56]
    Performance Evaluation of Brokerless Messaging Libraries - arXiv
    Aug 11, 2025 · Jitter measures the variation in latency over time. This metric is important in real-time applications, as high jitter can lead to ...
  57. [57]
    Message Brokers: An Introduction - Confluent
    A message broker is a server software that facilitates communication between different, often distributed systems, serving as an intermediary, routing messages.Missing: definition | Show results with:definition
  58. [58]
    What can Apache Kafka Developers learn from Online Gaming?
    Feb 8, 2023 · Using Kafka's state management stream processing, Ben has built systems that can handle real-time event processing at a massive scale, including ...
  59. [59]
    First Apache release for Kafka is out! | LinkedIn Engineering
    Jan 6, 2012 · January 6, 2012. We are pleased to announce the first release of Kafka from the Apache incubator. Kafka is a distributed, persistent, high ...
  60. [60]
    Introduction - Apache Kafka
    Jun 25, 2020 · Kafka is a distributed system consisting of servers and clients that communicate via a high-performance TCP network protocol.
  61. [61]
  62. [62]
    Open-Standard Business Messaging in 5000 lines of Erlang
    RabbitMQ History and Objectives · POC - a few weeks of hacking in summer 2006 · first public release, under MPL, in Feb 2007 · four more releases since · complete, ...
  63. [63]
    ActiveMQ Classic - The Apache Software Foundation
    Apache ActiveMQ Classic is a popular and powerful open source messaging and Integration Patterns server. It supports many Cross Language Clients and Protocols.Download ActiveMQ · Message Groups · Advanced features · Getting Started GuideMissing: history | Show results with:history
  64. [64]
    Apache ActiveMQ Classic Features
    Features. Apache ActiveMQ Classic is packed with features; to get an idea you might want to look at the Features Overview otherwise here is the list of all ...Missing: open source history
  65. [65]
    Pulsar Overview
    Pulsar is a multi-tenant, high-performance server-to-server messaging solution with low latency, scalability, and guaranteed message delivery.Missing: history | Show results with:history
  66. [66]
    [PDF] WebSphere MQ Primer: An Introduction to Messaging and ...
    Introduction to WebSphere MQ. 9. 2.1.1 A history of WebSphere MQ. Figure 2-1 shows a time line of WebSphere MQ versions and some highlights of the features and ...
  67. [67]
    IBM MQ Advanced
    IBM MQ Advanced is IBM MQ software with additional features including end-to-end message encryption and data integrity, and options for improved ...
  68. [68]
    Keeping clusters secure - IBM
    Authorize or prevent queue managers joining clusters or putting messages on cluster queues. Force a queue manager to leave a cluster.Missing: advanced | Show results with:advanced
  69. [69]
    What is IBM MQ and Why is it Relevant?
    Nov 2, 2021 · IBM MQ provides proven enterprise-grade messaging for more than 90% of the top 100 global banks, healthcare, airline, and insurance companies, ...<|separator|>
  70. [70]
    [PDF] TIBCO Enterprise Message Service™
    Jan 16, 2024 · TIBCO Enterprise Message Service™ is a standards-based enterprise messaging component that brings together different IT assets and.
  71. [71]
  72. [72]
    Technology - Solace
    Solace uses PubSub+ message brokers, available as software, cloud service, or hardware appliances, to move information between applications, users, and devices.Missing: massive | Show results with:massive
  73. [73]
    Stream and integrate IoT events across your enterprise - Solace
    A hybrid cloud event mesh powered by Solace enables real-time information flow between your connected devices, cloud services, and enterprise applications.Missing: massive | Show results with:massive
  74. [74]
    Amazon Simple Queue Service - AWS Documentation
    Amazon Simple Queue Service (Amazon SQS) offers a secure, durable, and available hosted queue that lets you integrate and decouple distributed software systems ...Missing: native | Show results with:native
  75. [75]
    IBM MQ
    Never lose a message with IBM MQ. Take advantage of an exactly once delivery messaging solution with enterprise-wide security and cloud-native resiliency.MQ Advanced · MQ SaaS · MQ for z/OS · Appliance
  76. [76]
  77. [77]
    Hadoop vs. Spark vs. Kafka - How to Structure Modern Big Data ...
    Sep 7, 2022 · Kafka is a message broker that can be used to ingest streaming data into Hadoop or process streaming data in real time with Spark.
  78. [78]
    How to Set up Kafka Hadoop Integration? [with code snippets]
    Oct 11, 2024 · In this section, we will be looking at two concepts that will help us build our Kafka Hadoop pipeline for real-time processing.
  79. [79]
    How to Deploy Kafka on Kubernetes | K8s Devops - Portworx
    Apache Kafka is an event-streaming platform that runs as a cluster of nodes called “brokers” and was developed initially as a messaging queue.
  80. [80]
  81. [81]
    What are Heartbeat Messages? - GeeksforGeeks
    Mar 18, 2024 · Heartbeat messages are periodic signals sent between components of a distributed system to indicate that they are still alive and functioning properly.Importance Of Heartbeat... · Components Of Heartbeat... · Heartbeat Protocols
  82. [82]
    [PDF] De-mystifying “eventual consistency” in distributed systems - Oracle
    This short article explains the notion of consistency, and also how it is relevant for building NoSQL applications. A distributed system maintains copies of its ...<|separator|>
  83. [83]
    Why Tiered Storage for Apache Kafka is a BIG THING... - Kai Waehner
    Dec 5, 2023 · This blog post explores the architecture, use cases, benefits, and a case study for storing Petabytes of data in the Kafka commit log.
  84. [84]
    Introduction to Azure Service Bus - Microsoft Learn
    Mar 13, 2025 · This article provides a high-level overview of Azure Service Bus, a fully managed enterprise integration serverless message broker.Compare messaging services · Service Bus messaging samples · Queues & Topics
  85. [85]
    Automatic scaling for Amazon MSK clusters - AWS Documentation
    To automatically expand your cluster's storage in response to increased usage, you can configure an Application Auto-Scaling policy for Amazon MSK.
  86. [86]
    Running ActiveMQ in a Hybrid Cloud Environment with Amazon MQ
    Feb 19, 2018 · This post shows you can use Amazon MQ to integrate on-premises and cloud environments using the network of brokers feature of ActiveMQ.
  87. [87]
    Pattern: Event sourcing - Microservices.io
    Event sourcing persists a business entity's state as a sequence of state-changing events, stored in an event store that acts as a message broker.
  88. [88]
    Pattern: Saga - Microservices.io
    A saga is a sequence of local transactions. Each local transaction updates the database and publishes a message or event to trigger the next local transaction ...
  89. [89]
    Pattern: API Gateway / Backends for Frontends - Microservices.io
    Implement an API gateway that is the single entry point for all clients. The API gateway handles requests in one of two ways.Missing: brokers | Show results with:brokers
  90. [90]
    Message Broker vs. Message Queue: What's the Difference?
    Message brokers are adaptable. They support various messaging patterns, including publish-subscribe, point-to-point, and request-reply. This gives your ...
  91. [91]
    Building serverless event streaming applications with Amazon MSK ...
    Jun 26, 2025 · In this post, we describe how you can simplify your event-driven application architecture using AWS Lambda with Amazon MSK.
  92. [92]
    Serverless Computing Market Size, Share & Trends [Latest]
    The serverless market was valued at USD 21.9 billion in 2024, projected to reach USD 44.7 billion by 2029, with a 15.3% CAGR. FaaS holds the largest share.
  93. [93]
    RabbitMQ Kubernetes Operators: Cluster Operator and Messaging ...
    The RabbitMQ team develop and maintain two Kubernetes operators: the RabbitMQ Cluster Kubernetes Operator and the RabbitMQ Messaging Topology Operator.