Arcentry - Architecture Overview
This guide is targeted towards developers working with Arcentry's code-base. If you are an end-user, please consult the REST-API and Api-Docs documentation instead. If you are an enterprise customer, please find information in the Enterprise section of the documentation.
This is a general overview of the enterprise/on-premise version Arcentry's architecture and components intended for developers working with Arcentry's codebase.
In essence, Arcentry consists of three parts:
- arc-frontend: the browser app that contains all 3D Models, workflows, 2D UIs and 3D drawing canvas.
- arc-enterprise: the HTTP server that serves the frontend, provides REST endpoints and API access and publishes messages via websocket.
- A PostgreSQL database that stores the data, performs basic logic written in PL/pgSQL, and acts as a message bus for multi-instance deployments.
Here's how these components fit together:
Arcentry scales by running multiple instances against a cluster of PostgreSQL servers. PostgreSQL acts as a message broker in this scenario. If any browser or API client makes a change to a given document, PostgreSQL will push this change to other subscribed instances which in turn will relay it to subscribed clients: