# Technical Overview

The Ringier Event Bus is composed of several key components:

technical-overview

# Core services

The core services are microservices (opens new window) which intercommunicate actively using JSON over REST APIs.

# Feeder

The Feeder service is responsible of accepting events from the nodes, performing verification and validation checks, and publishing those events to the RabbitMQ server.

# Worker

The Worker service role is to consume from the necessary queues on the RabbitMQ server and, with the help of the Nodes service, send the events to appropriate destination nodes.

# Nodes

The Nodes service allows for operations on the various nodes' configurations.

# Users

The Users service allows nodes to authenticate against the Ringier Event Bus before emitting events.

# RabbitMQ

The RabbitMQ is used as the primary message broker which the Feeder and Worker services publish events to and consume events from respectively.

# DynamoDB

The DynamoDB AWS service acts as long-term storage solution for the core services. Information as users and nodes configurations are stored there.