...
A message is read from a ZeroMQ socket on thread 1 and placed in a ring buffer (Disruptor) slot. The business logic runs on a second thread, which receives the message from the ring buffer (Disruptor). When processing is complete, a business logic component publishes the output event to the second channel which results it being placed in an outgoing ring buffer slot. A third thread responsible for dispatching messages over a ZeroMQ socket receives the output event and publishes it.
This channel architecture can be applied to a number of use cases which require fast (low-latency) and predictable (limited GC activity) performance. For an in-depth example, see the FastQuote sample.