Os termos "mantidos vivos" e suas "alças são armazenadas neste conjunto" referem-se a algo diferente do armazenamento em cache.
Cache
O armazenamento em cache é um mecanismo em que os dados que são caros de adquirir são mantidos em um local de acesso rápido para reutilização posterior. Você verá isso usado em vários lugares, como:
- procurando algo em um banco de dados
- resolvendo o endereço IP de um servidor
- acessando um arquivo de um disco rígido
Pooling
Os "mantidos vivos" a que se referem na documentação do Phusion Passenger referem-se a forçar um aplicativo a permanecer indefinidamente, para que possamos economizar o tempo necessário para iniciar o aplicativo.
Ao atender a uma solicitação da web, você deseja que o aplicativo seja o mais responsivo possível. Se levar vários segundos para um aplicativo ser iniciado, e depois vários segundos para solicitar dados de um banco de dados, não será possível criar um aplicativo da Web responsivo.
Então, o que é feito é que um frontend leve é construído para aceitar conexões e manter múltiplas instâncias do aplicativo em funcionamento o tempo todo, e então o frontend fará o seguinte:
- atribua uma conexão de entrada a uma das instâncias já em execução do aplicativo
- obtenha os resultados desta instância em execução
- passar os resultados de volta para o cliente
- coloque a instância em execução do aplicativo de volta em um estado "pronto para processar"
Exemplo
Eu gosto de usar o exemplo de ter vários registros em uma mercearia. Cada pista é uma instância do servidor de aplicativos, e cada um só pode processar um único usuário por vez, mas juntos eles podem atender vários.
Se você der uma olhada no servidor HTTP do Ruby Mongrel ele foi projetado para que possa ser executado em uma piscina da mesma maneira.
One popular configuration was to run Apache HTTP Server 2.2 as a load balancer using mod_proxy_balancer in conjunction with several Mongrel instances. Each Mongrel instance would run on a separate TCP port, configured via the mongrel_cluster management utility. Until recently, Twitter was a notable instance of this configuration.
Mongrel was capable of serving Ruby on Rails powered sites without requiring any other web servers, though as a single-threaded application this configuration is unsuitable for all but light loads