Как правильно понять трехзвенную архитектуру?

У меня есть вот такая архитектура программы ( я это пока плохо понимаю). Я использую следующие технологии:

  1. c# (WPF)
  2. Nginx
  3. Django (запускаю через gunicorn)
  4. s3 хранилище (для получение фильмов)

вот конфиг nginx:

server {
                listen 8080;
                server_name 1.2.3.4;
                client_max_body_size 5G;
                        location / {
                        proxy_pass http://127.0.0.1:8888;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                location /media/ {
                alias /var/media/films/;
                location ~* \.png$ {
                try_files $uri $uri.jpg =404;
                }
                expires 30d;
                sendfile on;
                tcp_nopush on;
                }
        location /static/ {
                alias /home/user/mybackend/static/;
                expires 30d;
        }
        }
}

В начале C# (WPF) приложение делает запрос на ip:8080/api/movies, потом как я понимаю запрос почему-то идёт на nginx (наверное потому-что в кфг у nginx на vps прописано слушать 8080 порт). Далее nginx проверят через свой location куда именно ему идти дальше, /media и /static даёт файлы в C# напрямую из /media или /static, без Django. А location /получается летит черезproxy_pass http://127.0.0.1:8888;` на моё локальный сервер внутри vps получается прямо в Django. А Django потом идёт на БД для получение данных превращает их JSON и обратно отдаёт Nginx, а Nginx уже в C# приложение.

Вот так я себе это плюс минус представляю, можете пожалуйста объяснить где я не прав, где может прав. И так же почему это называю трёхзвенной архитектурой, а не просто клиент-сервер ? И нужен ли Nginx в данной схеме и почем и как он обеспечивает скорость и безопасность? А вот на счет gunicorn это то что внутри vps запускает локально Django ?

Вернуться на верх