Lógica para aplicação realtime
Boa noite galera,
estou desenvolvendo uma aplicação e agora preciso implementar notificações em tempo real.
Bom minha estrura de banco de dados é a seguinte:
Publicações
Imagens da publicação
Comentário das publicações
Comentário das imagens
Tabela de usuários
Tabela de tags
...
Bom, eu criei uma view para informar todos os dados referentes a uma publicação, usuário e tag.
A lógica é a seguinte:
Um usuário cria uma publicação com images e também pode vincular uma tag para aquela publicação.
Outros usuários podem manter contato com essa publicação e assim recebem notificações sobre atualizações, novos comentários, novas pessoas que estão vinculadas a essa publicação.
Meu maior problema é em enviar essas notificações para os usuários vinculados.
Fiz um exemplo de notificações utilizando long polling ajax + php, mas a verificação leva +/- 3 segundos para verificar a primeira vez e depois que entra em cache retorna em +/- 50ms.
Como eu faço essa verificação a cada 1seg, para todos os usuários que estão logados na aplicação, estou tendo uma latência muito grande no banco de dados e causando muita lentidão na aplicação.
Fiz um script pra saber se o usuário está com minha aplicação ativa no navegador e também se ele tem mais de uma aba aberta enviar somente pra aba aberta.
Mas mesmo assim ta me causando muita lentidão.
Minha pergunta é, Como que eu posso estruturar melhor essa lógica?
Na view eu trago sempre a ultima data da ultima coisa que aconteceu para aquela publicação.
Tenho uma tabela separada onde tem a data da ultima vez que o usuario acessou aquela publicação.
Quem puder ajudar agradeço e muito
Discussão (5)
Carregando comentários...