Iris: A decentralized approach to backend messaging middlewares

Peter Szilagyi

In this work we introduce the design and internal workings of the Iris decentralized messaging framework. Iris takes a midway approach between the two prevalent messaging middleware models: the centralized one represented by the AMQP family and the socket queuing one represented by ZeroMQ; by turning towards peer-to-peer overlays as the internal transport for message distribution and delivery. A novel concept is introduced, whereby a distributed service is composed not of individual application instances, but rather clusters of instances responsible for the same sub-service. Supporting this new model, a collection of higher level messaging patterns have been identified and successfully implemented: broadcast, request/reply, publish/subscribe and tunnel. This conceptual model and supporting primitives allow a much simpler way to specify, design and implement distributed, cloud based services. Furthermore, the proposed system achieves a significant switching speed, which – given its decentralized nature – can be scaled better than existing messaging frameworks, whilst incurring zero configuration costs.