Curiosidade: Como funciona a gestão de fila de espera em sistemas como o app da Mega?
Boa noite!
Entrei no app da Loterias para tentar a sorte né, nunca se sabe...
Porém me deparei com a fila de espera virtual, já vi muito disso aplicado em outros sistemas, porém gostaria de saber como funciona.
- Como o sistema organiza os usuários na fila (FIFO, prioridades, etc.)?
- Como é feita a comunicação com o usuário para informar a posição na fila e o tempo estimado?
- Quais tecnologias ou estratégias geralmente são usadas para implementar isso (ex.: WebSockets, APIs, etc.)?
- Há uma forma de escalar isso para milhões de acessos simultâneos sem sobrecarregar o servidor?
Se alguém puder compartilhar insights ou apontar para boas referências, seria de grande ajuda! Obrigado!
Não tenho muitas (ou quase nenhuma informação), mas, sem nem precisar pesquisar, no próprio site da Loterias da Caixa, enquanto você está na fila, o flaticon e o nome da página de espera já está parte da informação que procura, na própria URL também https://caixa.queue-it.net/ A empresa e a solução utilizada são da empresa https://queue-it.com/
Geralmente essa fila é gerenciada por um serviço externo como o Cloudflare Waiting Room
E a intenção desse serviço é justamente limitar o tráfego para o quanto sua aplicação pode suportar. Sim, esses serviços podem escalar para até o quanto a Cloudflare ou AWS aguentar.
você irá encontrar todas informações de como funciona no site do serviço que eles contrataram: https://queue-it.com/ticketing-website-crashes/
mas para explicar em poucas palavras o tráfego passa por um proxy ou gateway que identifica a quantidade de acessos e dependendo de uma certa quantidade transfere para outro domínio onde são registrados dados do navegador e ip de origem e vai colocando em sequência e conforme a fila anda eles redirecionam o ip de volta para o tráfego principal.
qual o problema que eu identifiquei nisso: não existe desistência da fila, logo se o site for visitado por multiplos bots de ip diferentes (o serviço diz que ele identifica bots), mas em muitos casos pode fazer o ip de bots entrar na fila, e sem nenhum botão de desistir da fila muitas pessoas que entraram e viram a fila fecha o navegador e vai para loterica essas supostas pessoas ficaram com seus ips e navegadores na fila, pois a fila mantinham isso para que voce pudesse voltar depois e continuar andando, mas isso trouxe uma péssima experiência como disse antes, seria muito importante identificar ou com um botão desistir da fila ou ainda melhor ficar na fila quem manter o navegador aberto, se fechar ou sair da página perde a fila esse seria o melhor cénario.