Que software eu poderia usar para configurar o proxy reverso que envia arquivos durante o armazenamento em cache?

1

Eu preciso configurar um proxy reverso HTTP que possa armazenar em cache as solicitações para o servidor upstream.

O servidor upstream serve apenas arquivos estáticos.

O problema que estou enfrentando é que eu preciso de um proxy que seja capaz de iniciar o primeiro byte ASAP (ele não pode esperar que toda a solicitação seja armazenada em buffer) enquanto ainda estiver em cache. É porque meus arquivos podem ser bem grandes (algumas centenas de megabytes), mas o requisito do aplicativo é ter tempos de resposta rápidos.

Eu tentei usar o nginx, mas quando desativo o proxy_buffer ele pára o cache.

Existe algum projeto open source amplamente disponível e bem testado que possa fazer isso? Verniz? Lula? HAProxy?

    
por mspanc 23.01.2017 / 19:46

2 respostas

1

O verniz será bom para o trabalho:

sub vcl_backend_response {

    # ... 

    # Large static files are delivered directly to the end-user without
    # waiting for Varnish to fully read the file first.
    # Varnish 4 fully supports Streaming, so use streaming here to avoid locking.
    if (bereq.url ~ "^[^?]*\.(mp[34]|rar|rpm|tar|tgz|gz|wav|zip|bz2|xz|7z|avi|mov|ogm|mpe?g|mk[av]|webm)(\?.*)?$") {
        unset beresp.http.set-cookie;
        set beresp.do_stream = true;  
        set beresp.do_gzip = false;   # Don't try to compress it for storage
    }

    # ...

}
    
por 24.01.2017 / 02:17
0

Você pode configurar dois servidores nginx, um com buffer_buffering ativado e o próximo que armazenará em cache respostas do autor.

    
por 23.01.2017 / 20:51