2015-05-18 5 views
13

zu implementieren Ich entwickle eine Anwendung mit angularjs Anwendungsfrontend als Backend Dropwizard. Ich plane, Nginx als Gateway für den Backend-Dropwizard-Server und als Asset-Server (Bilder und vielleicht die angularjs-Anwendung) zu verwenden.Wie eine Angularjs-Anwendung Frontend mit Nginx und Dropwizard

ist meine Frage, was die beste Strategie für deployement ist:

  1. Bündelung AngularJS mit dem dropwizard Backend und mit nginx als Frontend?
  2. Anwendung angularjs auf dem nginx-Server bereitstellen?

Vielen Dank im Voraus,

Antwort

0

Serving statische Dateien wie Ihre AngularJS App von nginx wird die Last auf dropwizard reduzieren.

EDIT: Es stellt sich heraus, DropWizard hat Unterstützung für serving static files. Ich glaube jedoch, dass Nginx es besser machen würde.

3

Ich würde die Nginx als API Gateway verwenden, die Ihre Anforderungen an Ihr Back-End weiterleiten.

Implementieren Sie ein API-Gateway, das der einzige Einstiegspunkt für alle Clients ist. Der API-Gateway verarbeitet Anforderungen auf zwei Arten. Einige Anfragen werden einfach an den entsprechenden Dienst weitergeleitet. Es behandelt andere Anfragen, indem es sich auf mehrere Dienste aufteilt.

Mit einem Gateway haben Sie die Flexibilität, Ihr Backend beliebig zu ändern. Da der Nginx nur als Gateway funktioniert, kann er auch Ihre statischen Dateien (angularjs) bereitstellen. Ein Gateway mehr Vorteile wie die Protokollierung hat, Authentifizierung usw.

+0

Die Frage ist entweder sollte ich nur meine Frontend Angularjs in Nginx bereitstellen oder es mit meinem Back-End-Server zu bündeln? und warum? –

+0

Wenn Sie Ihr Frontend in nginx und proxy für das Backend bereitstellen, erhalten Sie eine komplexere Umgebung, aber Sie sind viel flexibler beim Skalieren Ihrer Anwendung. Auf der anderen Seite ist eine monolithische Architektur (Winkel und Backend auf demselben Server) einfach zu entwickeln und zu implementieren und spricht ein kleines Team an. Aber wenn Sie ein Nginx trotzdem verwenden, setzen Sie das Frontend auf den Nginx. – fabwu

1

ziehe ich werde AngularJS in nxginx einzusetzen wegen

  • Schnelle statische Inhalte (AngularJS)
  • selten Interaktion dienen Ende -Server zu sichern (einige http Anrufe)