Chapter 7. Advanced Architecture Using ÃMQ
One of the effects of using ÃMQ at a large scale is that because we can build distributed architectures so much faster than before, the limitations of our software engineering processes become more visible. Mistakes in slow motion are often harder to see (or rather, easier to rationalize away).
My experience when teaching ÃMQ to groups of engineers is that itâs rarely sufficient to just explain how ÃMQ works and then expect them to start building successful products. Like any technology that removes friction, ÃMQ opens the door to big blunders. If ÃMQ is the ACME rocket-propelled shoe of distributed software development, a lot of us are like Wile E. Coyote, slamming full speed into the proverbial desert cliff.
We saw in Chapter 6that ÃMQ itself uses a formal process for changes. One reason we built this process, over some years, was to stop the repeated cliff-slamming that happened in the library itself.
Partially itâs about slowing down, and partially itâs about ensuring that when you move fast, you goâand this is essential, dear readerâin the right direction. Itâs my standard interview riddle: whatâs the rarest property of any software system, the absolute hardest thing to get right, the lack of which causes the slow or fast death of the vast majority of projects? The answer is not code quality, funding, performance, or even (though itâs a close answer) popularity. The answer is accuracy.
Accuracy is half the challenge, ...
Get ZeroMQ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.