Message-Oriented Pattern for Elastic Design

In this section I’ll introduce the Message-Oriented Pattern for Elastic Design (MOPED), a software engineering pattern for ØMQ architectures. It was either “MOPED” or “BIKE,” the Backronym-Induced Kinetic Effect. That’s short for “BICICLE,” the Backronym-Inflated See if I Care Less Effect. In life, one learns to go with the least embarrassing choice.

If you’ve been reading the book carefully, you’ll have seen MOPED in action already. The development of the Majordomo pattern in Chapter 4 is a near-perfect case. But cute names are worth a thousand words.

The goal of MOPED is to define a process by which we can take a rough use case for a new distributed application, and go from “Hello World” to fully working prototype in any language in under a week.

Using MOPED, you grow, more than build, a working ØMQ architecture from the ground up with minimal risk of failure. By focusing on the contracts rather than the implementations, you avoid the risk of premature optimization. By driving the design process through ultra-short test-based cycles, you can be more certain that what you have works before you add more.

We can turn this into five real steps:

  1. Internalize the ØMQ semantics.

  2. Draw a rough architecture.

  3. Decide on the contracts.

  4. Make a minimal end-to-end solution.

  5. Solve one problem and repeat.

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.