# Overview

An event bus is a mediator that transfers events from senders to receivers. It allows asynchronous communication between nodes that do not need to be explicitly aware of each other, a bit like when you post a message in a Slack channel: you don't need to know who are all the members in the channel, and although your message is immediately available to them, they may read it in their own time.

Ringier event bus was specifically designed for use in a distributed environment like Ringier. Individual businesses are in control of the routing of their events and can reuse common events or leverage custom payloads to communicate with their own internal and group level services. It is the preferred way of communication with Hexagon services.

For a technical overview of the bus architecture and fundamental principles, click here.

# How it works

Ventures send events to the bus when something notable happens on their platform, such as an article is published, a listing is updated, a user subscribes to an alert.

> Learn how to send events

The bus routes the events to different endpoints connected to the platform based on rules agreed upon by both ends.

> Learn more about event routing.

Receivers are usually microservices that process the events, communicate with third parties and/or send events back to the bus.

> Learn how to receive events

We maintain specifications to align on the events and allow ventures to use multiple services without having to send the same information in different formats as well as to allow services to consume events from several ventures without extra effort. If you are sending a new type of event, we invite you to detail its format in the specifications to set a precedent.

# Why integrate with the bus

You may use the bus to enable the different modules of your application(s) to communicate in an event-driven type of architecture, or you may join the bus to benefit from the existing services available.

Find out more about the benefits to your organisation and uses cases on Hexagon website (opens new window).

# Contact the team

Drop a message to Delphine Racoupeau (Product Manager), Nicolas Vandemoortele (QA) or Rodrigue Ngoy (Lead Developer) on Slack or send us an email at bus@ringier.co.za.