Tecnologia · AiThao

Mensagens em tempo real

Uma mensagem deve surgir no outro telemóvel logo que é enviada e nunca perder-se no percurso. São duas tarefas distintas que o AiThao executa por esta ordem: primeiro guardar, depois entregar.

O que isto proporciona

  • Mensagens e reações surgem instantaneamente no telemóvel do destinatário e nos seus outros equipamentos.
  • Um telemóvel que estivesse offline sincroniza-se ao voltar a ligar-se, sem falhas.

Como funciona

Cada aplicação mantém uma ligação WebSocket autenticada com o servidor. Ao enviar uma mensagem, o servidor grava-a primeiro na base de dados e só depois emite um evento. Vários processos do servidor operam em paralelo e partilham eventos através de um canal comum de publicação e subscrição, pelo que o processo com a ligação ativa do destinatário efetua a entrega.

Se o destinatário estiver offline, uma notificação push ativa o telemóvel, e a aplicação recupera os dados em falta a partir de um registo de reprodução ao restabelecer a ligação. Numa conversa com encriptação de ponta a ponta, o conteúdo transmitido é um invólucro encriptado que o servidor não consegue ler.

Estrutura técnica

WebSocket · Node.js · TypeScript · PostgreSQL · Redis

Perguntas frequentes

O que acontece se enviar uma mensagem sem ligação?

A aplicação envia-a assim que a ligação for reposta. Logo que o servidor a recebe, é registada antes de qualquer aviso.

Por quanto tempo o servidor guarda uma mensagem encriptada?

Até cada telemóvel do destinatário obter a sua cópia, no limite de 30 dias.