Arquitetura de aplicação mobile com backend PHP controle de requisiçõe
Boa tarde colegas.
Gostaria de tirar uma dúvida a respeito de um projeto que estou desenvolvendo. Se trata de um aplicativo para celular de Mensagens de Textos e tenho uma dúvida quando ocorrer a seguinte situação:
1) O Backend dispara o Push Notification para as plataformas Android e iOS (12.000 notificações Push)
2) O banco de dados armazena as mensagens;
2) O Backend recebe 12.000 Requisições/acessos quase que simultâneos dos quais (5.000 buscarão a mensagem_1, 6.000 buscarão a mensagem_2 e 1.000 buscarão a mensagem_3). Durante cada requisição e leitura o Backend aproveita e faz o registro da Entrega (para evitar nova entrega). (depois mais tarde quando o usuário clicar para ler a mensagem é feita o registro da leitura, para controle de visualização)
3) O Backend para cada requisição/acesso irá abrir apenas uma conexão com o Banco e responder ao celular, fechando a conexão ao final do processamento de cada requisição/acesso. (ou seja serão abertas e fechadas 12.000 conexões)
Pergunta, essa arquitetura de conexões para a leitura das mensagens(select) e na sequência o registro da entrega (update), está razoável?
Seria melhor usar uma outra arquitetura, tipo usar um Arquivo Texto para a Leitura das Mensagens (nesse caso o Backend geraria um arquivo texto com 12.000 mensagens cada uma identificada para cada uma destinatário, onde após a leitura do arquivo e linha eu atualizaria o ID da mensagem para fazer o registro da Entrega em Banco de Dados? aí voltaria ao problema de 12.000 conexões para registro da entrega!!)
BackEnd:
PHP 7.0 + Nginx + PostgreSQL 9.5
Discussão (5)
Carregando comentários...