QUEUE-BASED SYSTEM ARCHITECTURE (QBSA) explains a style of system architecture that effectively supports collaboration of distributed, internal and external systems prevalent in the modern enterprise. An example of a system that requires collaboration of multiple internal and external systems is the Obamacare website. The Obamacare website must consult with a bevy of State and private health insurance systems to provide accurate insurance quotes to its patrons. And it must to do so for millions of website visitors in a timely fashion. To illustrate QBSA, the book walks through one possible queue-based system design of a healthcare insurance exchange website that can efficiently and reliably prepare health insurance quotes for a large number of customers. Most of the work in a queue-based system is handled asynchronously in the background by autonomous processes. Message queues play an essential role in queue-based systems. A well-designed queue-based system can prepare a response for a complicated request within a matter of few seconds. Some of the topics covered in this book - How to process commands asynchronously in the background? - How to monitor and troubleshoot a queue-based system? - How to scale a queue-based system? - How to add new functionality to a queue-based system? - How does a queue-based system participate in an Enterprise Service Bus (ESB)? Equipped with the information in this book, you will be able to confidently design scalable, fault-tolerant distributed systems.
The book covers the basic and most relevant details that one needs to understand to start designing and building a queue-based, message-driven system. I found it rather useful and even validating of my designs.
The book is concise and can be read entirely in a couple of hours, however the information it contains was worth the time.
For those entirely new to building distributed systems in this way, will find this book is a fine introduction. The book, nonetheless, offers very little insights on implementation details, and I believe that, given how short it is, the author may have decided to add an entire section to demonstrate all these ideas in some way, perhaps using a product like RabbitMQ.
That been said, I felt quite satisfied with the book and its short, but rather useful advise.