Polar Geschrieben 10. Januar 2023 Geschrieben 10. Januar 2023 Hallo zusammen, ich würde in Zukunft gern einmal folgende Konstellation ausprobieren und wollte mich einmal vergewissern, ob es so möglich ist und Sinn macht. - Es existiert eine Anwendung, in der pro Stunde 3000 Bilder hoch geladen werden - Backend: Laravel - Server ist ausreichend dimensioniert und hat eine gute Anbindung Nun besteht ja die Möglichkeit, via Nginx einen Loadbalancer zu erstellen, der im Grunde folgendes macht: - Backend API wird aufgerufen - Request trifft auf Nginx LB - LB schaut, welcher Server den geringsten Load hat - LB weist dem Request Server X zu Das ist doch so korrekt, oder? Dann zu den Fragen: Domain (api.domainxy) und SSL Zertifikat weisen dann auf den Loadbalancer. Innerhalb der Nginx-Config stehen dann z.B. http { upstream backend { server backend1.example.com weight=5; server backend2.example.com; server 192.0.0.1 backup; } } 1. Sehe ich es richtig, dass alle weiteren "Knoten" ein eigenes SSL Zertifikat benötigen? 2. api.domain.xy ist dann lediglich der LB und das eigentlich Backend sitzt dann auf api2, api3, ...? Vielen Dank für Input 🙂 Zitieren
0x00 Geschrieben 10. Januar 2023 Geschrieben 10. Januar 2023 Zu 1. Das kommt ganz auf deine Config an, du kannst einen Load Balancer auf zwei Arten konfigurieren: - SSL Termination: SSL wird vom LB terminiert, er decrypted die Nachricht und schickt sie unverschlüsselt (e.g. HTTP) an die Server weiter. Dafür braucht der LB das Cert, die Server brauchen keine (da Traffic LB <-> Server nicht verschlüsselt). - SSL Passthrough: Der LB leitet die Nachricht einfach verschlüsselt an die Server weiter ohne sie zu inspizieren. Für diesen Fall benötigt der LB kein SSL Cert da er nichts decrypted, die Certs liegen bei den Servern. Wenn der LB das Cert hat ist i.d.R. von SSL Termination die Rede. Zu 2. In deinem Codebeispiel sind backend1 und backend2 als Primary sowie 192.0.0.1 als backup konfiguriert. Die Primaries haben eine Weighted Policy, 5% vom Traffic gehen an backend1, der Rest (95%) an backend2. Der Backupserver wird aufgerufen sollten beide Primaries failen. Zitieren
MrChiacomo Geschrieben 4. Mai 2023 Geschrieben 4. Mai 2023 Hallo, aus Erfahrung würde ich dir raten HAProxy als LB zu verwenden. VLG Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.