O que é a arquitetura Outbox
Esta página é uma tradução automática do original em japonês. Ler o original em japonês
A arquitetura Outbox (padrão Outbox) é um padrão de design que enfileira mensagens localmente e as transmite automaticamente quando a conexão de rede é restaurada. No SimpleMemo, esse mecanismo permite que você deixe uma nota no terminal e a envie quando estiver conectada, mesmo em ambientes offline, como metrôs e em voo.
A arquitetura Outbox é um padrão de garantia de entrega de mensagens em um sistema distribuído. O remetente primeiro perpetua a mensagem para o Outbox local (caixa de transmissão), e o processo em segundo plano monitora o Outbox e os envia sequencialmente quando conectado à rede. Depois de confirmar a transmissão bem-sucedida, exclua a mensagem do Outbox. Isso evita "perda de dados em caso de falha de rede". As mensagens que apenas perderam a resposta serão enviadas novamente, portanto, para evitar que a mesma mensagem seja duplicada e não recebida, combine-a com o lado receptor para evitar a duplicação (como teclas liga/desliga). SimpleMemo passa o ID da mensagem para cada memorando como uma chave de energia para o serviço de envio de e-mail para evitar a duplicação em 24 horas. Em aplicativos móveis, é a tecnologia básica do primeiro design offline.
3 elementos do padrão Outbox
Implementação Outbox de SimpleMemo
O Outbox do SimpleMemo não é apenas uma fila offline, mas foi projetado para combinar segurança e UX. Criptografe com AES-256-GCM ao salvar notas e descriptografe apenas ao enviar. O memorando enviado será excluído do Outbox. Quando você pressiona o botão enviar offline, ele diz "Offline - Enviar quando conectado" e deixe o memorando em Outbox.
Exemplo: Enviando notas no metrô
1. Digite sua ideia em um memorando no metrô e toque no botão enviar
2. O aplicativo diz "Offline - Enviar quando conectado" (memorandos permanecem no terminal enquanto aguardam a transmissão)
3. Na parte de trás, criptografe o memorando com AES-256-GCM e salve-o em Outbox
4. Vá para o chão e conecte-se ao LTE/Wi-Fi → Se o aplicativo estiver em execução, o NWPathMonitor detecta a conexão (se estiver fechada, a atualização em segundo plano do iOS ou na próxima vez que você abrir o aplicativo)
5. Faça uma nota do Outbox, descriptografe-a e envie-a para os trabalhadores Cloudflare API
6. Resend API aceita a entrega, e o Relay API retorna uma resposta bem-sucedida (não uma confirmação de que chegou na caixa de entrada)
7. Exclua a nota de Outbox
Perguntas Frequentes (Arquitetura Outbox)
O que é a arquitetura Outbox?
É um padrão de design que armazena mensagens em uma fila local (caixa de transmissão) e as transmite automaticamente quando conectadas à rede. Enquanto estiver offline, ele será deixado no terminal como aguardando transmissão e, quando a conexão for restaurada, a transmissão será retomada.
Como funciona o Outbox do SimpleMemo?
Se a rede não estiver disponível ao enviar um memorando, criptografe-a com AES-256-GCM e salve-a em Outbox. Quando a conexão for retornada, envie-a para Resend API via Cloudflare Workers assim que o aplicativo estiver em execução e, se estiver fechado, a atualização em segundo plano do iOS ou na próxima vez que o aplicativo for aberto. Depois de enviar, exclua-o do Outbox.
O memorando Outbox é seguro?
Outbox armazenado no terminal é criptografado com AES-256-GCM. A chave de criptografia é armazenada no Chaveiro iOS, e o aplicativo a lê ao criptografar e descriptografar. A chave é uma configuração que não migra para outro terminal. A entrega de e-mail não é criptografia de ponta a ponta. Verifique também backup e detalhes de gerenciamento de chaves.