Architecture overview

“DNI II” is built on the following arhitecture principles:

  • Must not use proprietary or commercial license frameworks.
  • Must use open standards to expose it’s functionality.
  • All requests must be authenticated and authorized.
  • All services must follow RESTful approach to expose functions.
  • Every event must ability of logging.

Logical architecture

Microservice based architecture for all platform services.

Microservices

  • All components in “DNI II” should be modular with microservice architecture patterns and principles.
  • Each service components must be independently scalable to meet varying load requirements.
  • Services must be stateless and have documented interfaces.

Front end

Physical architecture

Stand alone physical servers

  • Több backend szerverünk van, a számuk terhelés függő, Apache-php webszervert futtatnak.
  • A kéréseket egy Nginx szerver fogadja, és osztja szét a backend szerverek között.
  • A szervizek külön könyvtárban, saját porton futnak, egy adott szerver a saját magán futó szervizeket használja.
  • Bulid -et, deploy -t Jenkins végzi, minden backend szerverre buildeli a szervizeket.
  • Adatbázisnak mysql clustert használjuk.

Cloud based virtual servers

  • A szervizeket Google Cloud Platform futó GKE szolgálja ki.
  • A docker image -eket a Jenkins állítja elő, és tölti fel a GCP -re.
  • Az egyes szervizek külön nginx+php-fpm container -ekben, önállóan futnak
  • Az adatbázist egy Cloud SQL for MySQL instance szolgálja ki.
  • A statikus tartalmaknak, asset -eknek, logoknak persistentVolumeClaim -t használunk
  • Minden szerviznek futnia kell standalone server környezetben is.