How to build a Messaging Broker with Drupal to exchange data safety

Speakers: 

I would like to share with you how Actency’s technical team has built up a messaging broker based on Drupal for a large-scaled project for one of our clients.

The broker is made up of several components in order to deliver functionalities similar to known systems such as JMS, RabbitMQ, or IronMQ.

  • a user-management system which organizes subscribers (consumers) and producers around topics and guarantees the implementation of a permission-system.
  • a client which holds endpoints to receive messages
  • a queuing backend to manage messages in a reliable (strict FIFO) or non-reliable manner.
  • a webservice to provide messages to subscribers.
  • utilities to monitor active queues, messages and logs
  • a client to hold endpoints for validation-purposes of send messages.
    (business-reliability features)

The dispatch-mechanism is a push-based model:

  • The publisher sends a message and creates an item in the topic queue of the broker.
  • A Cron job processes the topic_queue on the broker-side
  • The broker sends the messages respecting FIFO to the subscribers of the topic in question.
    There is no http-request of the subscriber needed.

The Services module and the Queue API of Drupal are core-elements of the broker-architecture.
Producers and subscribers are represented by user-entities in the drupal-system.
We take advantage of Organic Groups to provide a subscriber- and producer management by topic.

... and a lot more to tell you!

Several members of our team would like to share with you our awesome experience, using Drupal for building something else than a "site".

Schedule info
Track: 
New: Case Studies
Experience level: 
Intermediate
Drupal Version: 
Drupal 7.x