# Architecture Fundamentals

Flopsar consists of three main components:

* Agent
* Server
* Workstation

`Agent` is installed on JVM applications and produces data, `Server` collects and serves data, and `Workstation` provides access to the collected data. The entire Flopsar environment can be installed in one of the two architectures: [standalone](/3.0/administrator-guide/architecture-fundamentals.md#standalone-architecture) or [distributed](/3.0/administrator-guide/architecture-fundamentals.md#distributed-architecture).

## Standalone Architecture

In this architecture, both manager and database are bundled and make use of the same working directory. The architecture is easier to manage than the distributed one and is sufficient for most of the installations. If you experience any performance issues with your installation or have any other reason not to use the standalone architecture then consider using a distributed one.

![Standalone Architecture](/files/-Lwmv8j5IqYyvOgtOBSl)

In order to install Flopsar environment in the standalone architecture, you must install `Server` in the [standalone mode](/3.0/administrator-guide/server.md#standalone-mode).

### Networking

There is only a single TCP server exposed by `Server`. Any client connects to this TCP server. This means the following connections must be allowed:

* outgoing connections from agents to the server,
* outgoing connections from workstations to the server.

## Distributed Architecture

In this architecture manager and database operate separately. They can be both installed either on a single machine or separate ones.

![Distributed Architecture](/files/-Lx0zZduE4IZW5D7Vqm6)

### Networking

In this architecture, `Manager` and `Database` instances expose their own TCP servers. This means the following connections must be allowed:

* outgoing connections from agents to the `Manager` server,
* outgoing connections from agents to the `Database` servers,
* outgoing connections from workstations to the `Manager` server,
* outgoing connections from workstation to the `Database` servers,
* outgoing connections from databases to the `Manager` server.


---

# 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.flopsar.com/3.0/administrator-guide/architecture-fundamentals.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.
