1 Pluspunkt 0 Minuspunkte

Wenn ich ein Backend in Nginx konfiguriert habe

upstream backend {
    server 10.0.0.1;
    server 10.0.0.2;
    server 10.0.0.3;
    server 10.0.1.1 backup;
    server 10.0.1.2 backup;
    server 10.0.1.3 backup;
}

Kann ich irgendwie die Reihenfolge der Backup Server ändern? Soweit ich das verstanden habe werden die der Reihe nach ausgewertet. Wenn der Hauptserver 10.0.0.1 ausfällt, kommt 0.2 dran, fällt der auch aus kommt 0.3 dran u.s.w. Kann ich (nur für die Backup Server) eine Art Round Robin konfigurieren so das 01, 02 und 03 zwar im Round-Robin Verfahren bleiben aber die Backup Server z.B zufällig?

bezieht sich auf eine Antwort auf: Failover Proxy mit NginX
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst die Backup Server in einem eigenen "backend" Block definieren und im eigentlichen Backend darauf verweisen. So kannst du das Verhalten der Backup Server unabhängig festlegen.

upstream backend {
    server 10.0.0.1;
    server 10.0.0.2;
    server 10.0.0.3;
    server my_backup backup;
}

upstream my_backup {
    #random;
    #least_conn; 
    #ip_hash; 
    #round-robin; 
    server 10.0.1.1;
    server 10.0.1.2;
    server 10.0.1.3;
}

  • Mit random wird ein Server zufällig ausgewählt. 
  • Mit least_conn werden Anfragen bevorzugt an Server mit weniger aktiven Verbindungen gesendet. 
  • Mit ip_hash wird basierend auf der IP-Adresse des Clients ein Server ausgewählt, um die Konsistenz in Sitzungen zu gewährleisten. 
  • Mit round_robin werden die Server der Reihe nach in einer Schleife durchlaufen.
von