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)
 
(Uma revisão intermediária por um outro usuário não está sendo mostrada)
Linha 19: Linha 19:
 
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.
 
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'''
+
==='''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