HAProxy - routing oparty na adresie URL z równoważeniem obciążenia
Jestem nowy w HAProxy i mam pytanie o konfigurację HAProxy, która pomaga mi podjąć kluczową decyzję, podejmując właściwe podejście. To bardzo pomoże mi w podjęciu decyzji o architekturze.
Mam 3 aplikacje. Powiedzmyapp1
, app2
, app3
.
Każda aplikacja jest zróżnicowana przez adresy URL w następujący sposób:
www.example.com/app1/123 -> app1
www.example.com/app2/123 -> app2
www.example.com/app3/123 -> app3
Mam zamiar mieć 2 wystąpienia każdej aplikacji w 2 różnych regionach:
Region 1 - app1, app2, app3
Region 2 - app1, app2, app3
Widzę 2 metody konfiguracji tego, ale nie jestem pewien, która jest tutaj najlepsza praktyka:
Metoda 1: Niech HAProxy1 najpierw rozróżni żądania za pomocą wzorców adresów URL. Żądania z HAProxy1 zostaną przekierowane do innego serwera HAProxy skonfigurowanego do indywidualnych aplikacji (w tym przypadku 3 serwery HAProxy) do równoważenia obciążenia.
Metoda 2: Miej jeden świetny serwer HAProxy, który robi oba tak, jak podano w metodzie 1. Oznacza to, że masz konfigurację, aby oddzielić żądania w zależności od adresu URL, a następnie przekazać każde żądanie za pomocą indywidualnego filtru, tak jak w przypadku każdej aplikacji do równoważenia obciążenia.
Nie jestem pewien, czy metoda 2 jest obsługiwana w haproxy. Wszelkie pomysły lub sugestie są bardzo mile widziane. Proszę o trochę światła.