Architectuur
Frappe is een gelaagde web-applicatiestack. De onderdelen kennen helpt bij troubleshooting en bij het inschatten van infrastructuur.
De lagen
| Laag | Technologie |
|---|---|
| Database | MariaDB (standaard) of PostgreSQL |
| Applicatieserver | Python met Gunicorn + Werkzeug |
| Achtergrondworkers | RQ (Redis Queue) |
| Cache & sessies | Redis |
| Realtime updates | Socket.IO (Node.js) |
| Frontend | Server-rendered Jinja, plus jQuery/Vanilla JS in het desk |
| Bestandsopslag | Lokaal bestandssysteem of S3-compatibele objectopslag |
Hoe een request stroomt
- De browser hit het web Gunicorn-proces via Nginx.
- Frappe routeert het request: DocType-formulier, rapport, API-call of een custom pagina.
- Permissies worden gecontroleerd tegen het DocType, de rollen van de gebruiker en eventuele recordregels.
- Data wordt uit MariaDB gelezen; het antwoord wordt gerenderd (HTML, JSON of PDF) en teruggestuurd.
- Langlopend werk (PDF-generatie, mail, integraties) gaat via RQ naar worker-processen; de gebruiker krijgt direct antwoord.
Multi-tenancy
Eén bench kan meerdere sites hosten, elk met eigen database, bestanden, gebruikers en geïnstalleerde apps. Zo bedienen Frappe Cloud en Prilk-managed deployments meerdere klanten vanaf één stack.
Last updated 3 days ago
Was this helpful?