# Appmixer Architecture

## High-Level Architecture

Appmixer consists of multiple technologies that interact with each other:

![Appmixer High-Level Architecture](/files/-M8yPT_rKsRd5uzmFLon)

* **Appmixer Engine**: the main system that manages flows, orchestrates components within running flows and provides a HTTP REST API interface to access all the entities within Appmixer. The Appmixer engine is implemented in NodeJS and can run on a single node or in cluster. The engine is horizontally scalable providing high availability and fault tolerance capabilities.
* **Appmixer UI SDK**: the JavaScript HTML 5 SDK that allows to seamlessly embed any of the Appmixer UI widgets (including the drag\&drop flow designer) to any 3rd party web page. The SDK communicates with the engine via REST API.
* **Appmixer Backoffice**: the admin panel UI providing overview of all the flows and users in Appmixer together with configuration.
* **Appmixer CLI**: the command line tool that is mainly used to manage custom connectors (upload, delete, ...).
* **Supporting Technologies**: RabbitMQ message broker, MongoDB NoSQL database, ElasticSearch search engine, Logstash collector of logs and Redis key-value store. All the supporting technologies can also run either on a single node or in cluster.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.appmixer.com/6.0/v4/appmixer-self-managed/appmixer-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
