Chapter 1. Introduction
Intersystem messaging is one of the more poorly understood areas of IT. As a developer or architect you may be intimately familiar with various application frameworks, and database options. It is likely, however, that you have only a passing familiarity with how broker-based messaging technologies work. If you feel this way, don’t worry—you’re in good company.
People typically come into contact with messaging infrastructure in a very limited way. It is not uncommon to be pointed at a system that was set up a long time ago, or to download a distribution from the internet, drop it into a production-like environment, and start writing code against it. Once the infrastructure is pushed to production, the results can be mixed: message loss on failure, distribution not working the way you had expected, or brokers “hanging” your producers or not distributing messages to your consumers.
Does this sound in any way familiar?
A common scenario is that your messaging code will work fine—for a while. Until it does not. This period lulls many into a false sense of security, which leads to more code being written while holding on to misconceptions about fundamental behavior of the technology. When things start to go wrong you are left facing an uncomfortable truth: that you did not really understand the underlying behavior of the product or the trade-offs its authors chose to make, such as performance versus reliability, or transactionality versus horizontal scalability. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access