Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fabric3 provides support for ring buffer channels based on the LMAX Disruptor. Ring buffer channels are particularly useful in latency-sensitive applications as they reduce contention an unnecessary object allocation. The default channel implementation uses the runtime ExecutorService to schedule asynchronous event dispatch on a pooled thread. Placing work on the ExecutorService pool can result in contention and object creation, which can be prohibitive in the most demanding high performance applications.

 

Ring buffer channels are designed to avoid contention by placing events on a circular buffer implementation, in this case the LMAX Disruptor. Consumers running on different threads receive events from the buffer. Using Disruptor-based channels is simple. All that needs to be done is to specify the ring.buffer channel type as shown below:

...