Cache Nginx compartilhado entre vários servidores

9

Temos 8 servidores API REST-ish com Nginx usando FastCGI com PHP-FPM para manipular solicitações. No momento, estamos usando o cache FastCGI do Nginx (diretivas como fastcgi_cache_path ). Isso significa que as respostas da API são armazenadas em cache, mas há um cache separado para cada servidor.

Existe uma boa maneira de compartilhar o armazenamento em cache entre todos os oito servidores?

Nós consideramos o uso do Redis como armazenamento compartilhado, mas os módulos disponíveis parecem requerer mudanças no aplicativo. Em alguns casos, poderemos armazenar em cache respostas fora do nosso controle (através de HTTP para APIs externas). Idealmente, um substituto para o armazenamento em cache do Nginx das respostas FastCGI e HTTP estaria disponível.

    
por Brad 25.03.2014 / 16:33

1 resposta

1

Parece haver uma postagem de blog bastante nova no link sobre esta questão. Este primeiro exemplo pode ser útil se você executar mais de dois servidores de cache nginx.

Especialmente, a segunda parte do post parece interessante para meu caso de uso atual, no qual desejo rastrear automaticamente os itens alterados em meus caches.

Deve funcionar também com a versão open source do NGINX. Basicamente, ele funciona fazendo proxy da requisição em cascata através de cada Servidor NGINX (Nginx-Cache1- > NGinx-Cache2- > Origin-Server), cada servidor armazena em cache a partir do upstream relevante e, se desejado, também é possível criar um Cluster HA. link

    
por 06.03.2017 / 16:27

Tags