Categories:
Aura bridge components
Description and role of the main Aura Bridge components
Introduction
aura-bridge components are shown in the following schema and described below or in specific documents.

- You can find the complete list of plugins in Global plugins catalog
Server
The web server is implemented using express, that is the main web framework for nodeJS. It uses openapi-backend on top of Express to allow handling the OpenAPI v3 file.
It is in charge of setting up all the rest of the components that are needed during a request processing, as well as reading the before mentioned swagger file and setting up all the routes defined in it.
Access here to aura-bridge APIs definition.
Middlewares
Each route published in the API definition file is handled by a controller, but before a request lands on its controller, it goes through a series of middlewares, that provides some common steps needed by all the controllers of the server, such as: request authorization, request validation, common parameters extraction, logging, metrics initialization, etc.
Plugins
aura-bridge is composed of plugins, which provide functionality to the bridge.
Find complete information regarding this component in Aura bridge plugins.
Message syncer
One of the main features of aura-bridge is to be able to keep the order of the messages sent to the user, to assure that they are rendered in the correct order, so they are understandable by the users.
The component in charge of guaranteeing this order is call message syncer. It is an internal queue message system that lays on a two-level cache: a local one, that improves performance, and a remote one, to provide consistency.
Know the the detailed process for response messages synchronization managed by the message syncer.
Metrics
Aura metrics system is based on Prometheus that is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
Prometheus service pools every component to get the metrics generated during the last time period. Every component counts on a private endpoint (not accessible from internet) called /metrics where Prometheus requests the metrics.
For further information about metrics, read Metrics in aura-bridge.