Messaging is one of the more poorly understood areas of IT; most developers and architects have only a passing familiarity with how broker-based messaging technologies work. This practical report not only helps you get up to speed on the essentials of messaging, but also compares two of today’s most popular messaging technologies—Apache ActiveMQ and Apache Kafka.
Author and consultant Jakub Korab describes use cases and design choices that lead developers to very different approaches for developing message-based systems. You’ll come away with a high-level understanding of both ActiveMQ and Kafka, including how they should and should not be used, how they handle concerns such as throughput and high-availability, and what to look out for when considering other messaging technologies in future.
- Understand the types of problems that messaging systems address
- Explore three primary messaging patterns: point-to-point, publish-subscribe, and a hybrid of both
- Dive into ActiveMQ, a classic broker-centric design implemented through Java libraries that works for a broad range of messaging use cases
- Examine Kafka, a distributed system that can be scaled to provide massive performance and fault tolerance through replication
- Learn the mechanical complexities that message-based systems need to address, and some patterns you can apply to deal with those complexities