Architecture » History » Version 3

Version 2 (Alexander Blum, 04/20/2021 06:55 PM) → Version 3/6 (Alexander Blum, 04/20/2021 06:59 PM)

{{toc}}

# Architecture

## System

_
------------ |
webbrowser tryton | worker | | Clients
. . ------------ _|
| | | _
----------------------- -------------------------- |
| webserver | | erpserver | | Public
----------------------- -------------------------- _|
| | | | _
---------- ---------- | | |
| webgui | | webapi | | | |
---------- ---------- | | |
| | | | | Internal
---------------------------------- --------------- |
| database | | fingerprint | |
---------------------------------- --------------- _|

see also [Documentation: Schema](https://files.c3s.cc/collecting_society/development/generated/collecting_society_docker_README.html#schema)

## Machines

M = Physical Machine
VM = Virtual Machine

### Minimal Setup

-------------------------------------------------- -----------------
| | | |
| 1. Upload ---> 2. Process -----> 3. Drop -----------> 4. Archive |
| ----------- -------------- ------------- | | ------------- |
| | Web | | Processing | | Dropper | | | | Archive | |
| ----------- -------------- ------------- | | ------------- |
| | \ / | . / | | |
| | \ / | . / | | |
| | \/ | ./ | | |
| | /\ | /. | | |
| | / \ | / . | | |
| ----------- -------------- ------------- | | ------------- |
| | Content | | Storage | | Echoprint | | | | Integrity | |
| ----------- -------------- ------------- | | ------------- |
-------------------------------------------------- -----------------
M-Web M-Archive

1 x [[M-Web]]

* [[VM-Web]]: Nginx, Pyramid Web, Pyramid Api, Tryton, Db
* [[VM-Processing]]: Processingscript
* [[VM-Dropper]]: Intermedieate file storage not connected to internet
* [[VM-Storage]]: Sambaserver: Mounts in VM-Web, VM-Pro, VM-Dro
* [[VM-Content]]: Previews, Sambaserver: Mount in VM-Web
* [[VM-Echoprint]]: Queryserver, Indexserver

1 x [[M-Archive]]

* [[VM-Archive]]: Archiving
* [[VM-Integritytests]]: Integritytests

### Optimal Setup

1 x [[M-Nginx]]

* [[VM-Nginx]]: Dispatcher, Loadbalancer

1 x [[M-Database]]

* [[VM-Database]]: Db, Tryton

n x [[M-Web]]

* [[VM-Web]]: Pyramid Web, Pyramid Api

n x [[M-Processing]]

* [[VM-Processing]]: Processingscript (Preview)
* [[VM-Processing]]: Processingscript (Checksum)
* [[VM-Processing]]: Processingscript (Fingerprint)
* [[VM-Dropper]]: Intermedieate file storage not connected to internet
* [[VM-Storage]]: Sambaserver: Mounts in VM-Web, VM-Processing

n x [[M-Content]]

* [[VM-Content]]: Static Fileserver

n x [[M-Archive]]

* [[VM-Archive]]: Archiving
* [[VM-Integritytests]]: Integritytests

1 x [[M-EchoprintQuery]]

* [[VM-EchoprintQuery]]: Queryserver for Echoprint

n x [[M-EchoprintIndex]]

* [[VM-EchoprintIndex]]: Indexserver for Echoprint

### List

{{child_pages}}