3.2 - Conexões simultâneas

Uma arquitetura pode ser projetada para suportar 1.000 usuários simultâneos. Como é que a arquitetura responde se esse número cresce significativamente?

Se um usuário conectado consome alguns recursos, então provavelmente haverá um limite para o número de conexões que podem ser efetivamente suportados.

Um exemplo clássico desta situação ocorreu em um Internet Service Provider (ISP). Cada vez que um usuário se conectava ao serviço, um aplicativo do provedor gerava um novo processo em seu servidor responsável por apresentar anúncios para o usuário. Isso funcionou muito bem, mas cada requisição consumia recursos de memória e processamento consideráveis. Testes na infraestrutura de hardware revelaram que as máquinas deste ISP só poderiam suportar cerca de 2.000 conexões antes de sua memória virtual ficar sobrecarregada. Entretanto, para o modelo de negócio deste ISP a infraestrutura disponível deveria suportar 100.000 usuários.

Na época em que isso ocorreu, aumentar os recursos de hardware era uma proposta proibitivamente cara. Apesar dos esforços do redesign frenéticos, esta foi uma das causas deste ISP sair do negócio.

Este exemplo ilustra a importância da preocupação com as conexões simultâneas para uma solução de software.

Copyright © 2016 AIEC.