Pelo que entendi, o balanceamento de carga com nginx é normalmente baseado em solicitações, ou seja, cada solicitação é encaminhada para algum lugar diferente, seja para máquinas remotas ou para instâncias de um serviço local. No entanto, eu preciso configurá-lo para ser baseado em sessão: nginx deve gerar um novo processo (local) de nodejs para cada cliente que está falando, ou seja, um por sessão. Para uma única sessão, cada solicitação deve ser encaminhada para esse processo. O processo deve ser encerrado quando a sessão for encerrada ou quando expirar.
O motivo pelo qual eu quero fazer isso é porque o nodejs precisa entrar em contato com um banco de dados, e provavelmente seria muito ineficiente se ele tivesse que se conectar e desconectar para cada solicitação. Em vez disso, ele deve se conectar ao banco de dados uma vez por sessão. Quando a sessão é encerrada, o nodejs deve ser encerrado normalmente para que tenha a oportunidade de fechar corretamente a conexão com o banco de dados.
Como posso fazer isso? Se não for possível, como posso evitar ter que se conectar ao banco de dados em cada solicitação?
Tags nginx linux load-balancer