Mudanças entre as edições de "Pool de Conexões"

(Pool de conexões PHServer na Prática)
(Fluxo de Funcionamento do Pool de Conexões)
 
Linha 20: Linha 20:
  
 
==='''Fluxo de Funcionamento do Pool de Conexões'''===
 
==='''Fluxo de Funcionamento do Pool de Conexões'''===
[[Arquivo:Pooldeconexoes.png|1000px]]
+
<img src="https://wiki.phsys.com.br/images/WIKI/sistema_e_desenvolvimento/servidor_de_aplicacao/pool_de_conexoes/Pooldeconexoes.png" alt="Imagem do esquema de pool de conexões">

Edição atual tal como às 16h50min de 28 de maio de 2024

O pool de conexões é uma técnica usada pelos servidores de aplicação para melhorar o desempenho e a eficiência no gerenciamento de conexões com o banco de dados.

Quando um aplicativo precisa se conectar a um banco de dados, ele normalmente estabelece uma nova conexão para realizar suas operações. No entanto, estabelecer uma nova conexão a cada vez que uma operação é necessária pode ser custoso em termos de recursos e tempo de processamento. É aí que o pool de conexões entra em jogo.

O pool de conexões funciona mantendo um conjunto de conexões de banco de dados pré-estabelecidas e prontas para serem reutilizadas. Em vez de fechar a conexão após cada solicitação, o servidor de aplicação libera a conexão de volta para o pool, onde ela pode ser reutilizada por outras solicitações.

Quando um novo pedido chega, o servidor de aplicação atribui uma conexão disponível do pool ao aplicativo. Isso elimina a necessidade de estabelecer uma nova conexão e reduz significativamente a sobrecarga de recursos e o tempo de latência.

O pool de conexões também gerencia automaticamente a vida útil das conexões. Por exemplo, se uma conexão estiver inativa por um longo período de tempo, o pool pode fechá-la para liberar recursos. Além disso, se o pool estiver cheio e todas as conexões estiverem em uso, o servidor de aplicação pode criar novas conexões apenas para atender a requisição em andamento.

Em resumo, o pool de conexões é uma abordagem eficiente para gerenciar as conexões com o banco de dados, minimizando o tempo de estabelecimento de conexões e maximizando o uso dos recursos disponíveis. Isso ajuda a melhorar o desempenho e a escalabilidade dos aplicativos, especialmente em cenários onde múltiplas solicitações concorrentes são comuns.

Pool de conexões PHServer na Prática

O serviço de aplicação trabalha sempre com duas bases de dados em suas requisições. Sempre que um requisição é recebida, é realizada consulta das informações do PHERP, junto a base de dados do PHServerconf, através do ID da sessão informado na requisição. Com os dados do PHERP, é realizado acesso a base de dados e execução do procedimento da requisição.

Sendo assim o são realizadas duas conexões, a primeira na base de dados do PHServerConf e a segunda na Base de dados do PHERP.

Para otimizar o acesso as bases de dados, trabalhamos com dois o pools de conexões, que mantem a quantidade de conexões pré-definidas, prontas para o uso. Dessa forma, o servidor de aplicação mantem um pool de conexão para as conexões com o PHServerConf e outro pool para as conexões com o PHERP.

Fluxo de Funcionamento do Pool de Conexões

Imagem do esquema de pool de conexões