Força o uso de um certo subconjunto de backends no haproxy

2

Estou configurando o haproxy para usar vários servidores de back-end, mas quero que um deles atenda a solicitações específicas:

backend bagend
        mode http
        balance roundrobin
        option httpchk GET / HTTP/1.1\r\nHost:\ www.example.com
        use-server app1_00 if { path_beg /frodo }
        use-server app1_01 if { path_beg /frodo }
        use-server app1_02 if { path_beg /frodo }
        use-server app1_03 if { path_beg /frodo }
        server  app1_00 10.0.0.1:9100 check
        server  app1_01 10.0.0.1:9101 check
        server  app1_02 10.0.0.1:9102 check
        server  app1_03 10.0.0.1:9103 check
        server  app2_00 10.0.0.2:9100 check
        server  app2_01 10.0.0.2:9101 check
        server  app2_02 10.0.0.2:9102 check
        server  app2_03 10.0.0.2:9103 check

Os meus comandos do servidor de uso serão balanceados em todos os 4 back-ends do app1? Ou eu preciso fazer isso de uma maneira diferente? Parece que tudo está indo para app1_00 .

    
por MikeyB 04.02.2013 / 23:23

1 resposta

3

O que você deseja fazer é ter um acl no frontend enviando a solicitação para um back-end diferente com base no URL.

frontend shire
    bind *:80
    mode http
    acl path-frodo path_beg /frodo
    use backend longbottom if path-frodo
    default_backend bagend

backend longbottom
    mode http
    balance roundrobin
    option httpchk GET / HTTP/1.1\r\nHost:\ www.example.com
    server  app1_00 10.0.0.1:9100 check
    server  app1_01 10.0.0.1:9101 check
    server  app1_02 10.0.0.1:9102 check
    server  app1_03 10.0.0.1:9103 check

backend bagend
    mode http
    balance roundrobin
    option httpchk GET / HTTP/1.1\r\nHost:\ www.example.com
    server  app1_00 10.0.0.1:9100 check
    server  app1_01 10.0.0.1:9101 check
    server  app1_02 10.0.0.1:9102 check
    server  app1_03 10.0.0.1:9103 check
    server  app2_00 10.0.0.2:9100 check
    server  app2_01 10.0.0.2:9101 check
    server  app2_02 10.0.0.2:9102 check
    server  app2_03 10.0.0.2:9103 check

Toda solicitação iniciada com / frodo será exibida apenas em app1_00, app1_01, app1_02 e app1_03. Todos os outros pedidos atingirão tudo.

    
por 05.02.2013 / 00:35

Tags