"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Construindo e otimizando um sistema e infraestrutura de notificação

Construindo e otimizando um sistema e infraestrutura de notificação

Publicado em 2024-08-27
Navegar:124

Se você está lendo isto, provavelmente entende como é importante enviar notificações oportunas para aumentar a interação do usuário e expandir seus negócios. Esteja você notificando os usuários sobre novas mensagens, eventos futuros ou atualizações de status, ter um sistema de notificação confiável é crucial.

Criar um sistema de notificação internamente é um desafio. Requer planejamento detalhado, desenvolvimento e manutenção contínua. Este artigo detalhará as principais partes de um sistema de notificação. Ao final, você entenderá o que é necessário para construir um internamente, os desafios que poderá enfrentar e qual abordagem melhor se adequa à sua empresa.

Componentes principais de um sistema de notificação

Um sistema de notificação que funciona bem tem várias partes importantes que funcionam juntas. Aqui está uma olhada em cada parte:

Building and Optimizing a Notification System and Infrastructure

  1. Canais de entrega e integrações de fornecedores:

Os canais de entrega são como as notificações chegam aos usuários. Para maximizar o envolvimento, você precisa oferecer suporte a vários canais, como e-mail, SMS, mensagens no aplicativo, notificações push, WhatsApp, Slack/Teams e chamadas automatizadas. A integração com esses canais pode ser complexa, exigindo avaliação do fornecedor, integração de API, verificações de qualidade de serviço e estratégias de fallback.

Building and Optimizing a Notification System and Infrastructure

  1. Mecanismo de modelagem:

Um sistema de notificação deve criar mensagens adequadas a cada canal. Os e-mails podem incluir informações detalhadas, enquanto os SMS devem ser breves. As notificações push podem incluir elementos multimídia e interativos. O gerenciamento de modelos envolve lidar com direitos autorais, personalização, branding, conteúdo dinâmico, suporte multilíngue e testes. Um editor visual para não engenheiros pode ajudar a gerenciar esses modelos.

Building and Optimizing a Notification System and Infrastructure

  1. Preferências do usuário:

A segmentação adequada ajuda a evitar o cansaço das notificações e mantém os usuários satisfeitos. Os usuários devem ter controle sobre quais notificações recebem, com que frequência e por meio de quais canais. Você precisa de uma interface fácil de usar para que os usuários definam suas preferências, incluindo tipos de notificações, canais, frequência e tempo. Permitir que os usuários optem por receber ou não notificações ajuda a evitar que bloqueiem todas as comunicações.

Building and Optimizing a Notification System and Infrastructure

  1. Lote e resumo:

Para algumas notificações, agrupar vários alertas em uma mensagem pode ser melhor do que enviar vários alertas separados. Por exemplo, se houver vários comentários, é melhor agrupá-los e enviá-los juntos. Os resumos também podem ser enviados em intervalos preferidos pelo usuário (por exemplo, de hora em hora, diariamente, semanalmente) para manter os usuários atualizados sem sobrecarregá-los.

  1. Suporte multilocatário:

Se o seu sistema atende vários clientes, ele precisa lidar com multilocação. Isso significa isolar dados, personalizar notificações para cada cliente e oferecer suporte à marca e às preferências de cada locatário. Por exemplo, uma plataforma SaaS que envia faturas precisa usar a marca e as preferências do cliente nas notificações.

Building and Optimizing a Notification System and Infrastructure

  1. Análise de notificação:

Para melhorar as notificações, você precisa acompanhar seu desempenho. Métricas como taxas de entrega, taxas de abertura e envolvimento do usuário são cruciais. Canais diferentes têm métodos de rastreamento diferentes, portanto, padronizar a forma como você mede as ações do usuário é importante para uma análise eficaz.

Building and Optimizing a Notification System and Infrastructure

Aspectos não funcionais dos sistemas de notificação

Serviços de notificação confiáveis ​​e eficientes também dependem de vários componentes não funcionais:

Building and Optimizing a Notification System and Infrastructure

  1. Escalabilidade e balanceamento de carga:

Os serviços de notificação devem lidar com diversos níveis de tráfego. Garantir a escalabilidade ajuda a gerenciar cargas maiores sem problemas de desempenho. O balanceamento de carga entre servidores e regiões mantém o serviço disponível e responsivo.

  1. Tolerância a falhas, redundância e novas tentativas de falha:

Para evitar tempo de inatividade, o sistema deve ter planos de redundância e failover. Isso inclui gerenciar o estado, usar fornecedores substitutos, controlar taxas de solicitação e tentar novamente notificações com falha quando apropriado.

  1. Alta capacidade de entrega:

Garantir que as notificações sejam entregues com sucesso envolve o gerenciamento de vários canais, a escolha de fornecedores confiáveis ​​e o tratamento das taxas de rejeição. Manter os canais limpos e ativos melhora a capacidade de entrega.

  1. Baixa latência:

As notificações devem chegar rapidamente. Minimizar atrasos envolve otimizar rotas de entrega, reduzir viagens na rede e melhorar as consultas ao banco de dados. Esforços contínuos são necessários para manter a baixa latência à medida que o sistema cresce.

  1. Observabilidade e diagnóstico:

Monitorar e diagnosticar problemas são essenciais para um bom funcionamento. A implementação de registros detalhados, rastreamento de erros e monitoramento de desempenho ajuda a identificar e resolver problemas rapidamente.

  1. Priorização da fila de mensagens:

Nem todas as notificações são igualmente importantes. Notificações de alta prioridade, como alertas de autenticação, devem ser enviadas imediatamente, enquanto notificações menos urgentes, como boletins informativos, podem ser adiadas. Priorizar mensagens ajuda a gerenciar a eficiência das filas e controlar os custos.

Decidindo construir ou comprar

Depois de compreender os componentes, você precisa decidir se deseja construir um sistema de notificação internamente ou usar uma solução existente:

Quando construir:

  • Simplicidade: Se suas necessidades de notificação forem mínimas e pouco frequentes, uma integração simples ou um serviço central básico pode funcionar.
  • Necessidades personalizadas: Para requisitos altamente específicos que soluções de terceiros não conseguem atender, construir um sistema personalizado é melhor.
  • Produto principal: Se as notificações forem essenciais para o seu produto, pode ser necessário ter controle total por meio de um sistema interno.

Quando considerar alternativas:

  • Restrições de recursos: Recursos de engenharia limitados podem tornar mais eficiente o uso dos serviços existentes.
  • Tempo de lançamento no mercado: O uso de soluções de terceiros pode acelerar o desenvolvimento e o lançamento.
  • Recursos complexos: Plataformas estabelecidas geralmente oferecem recursos avançados, como fluxos de trabalho e comunicação entre canais.
  • Foco nas competências essenciais: O uso de serviços externos permite que você se concentre em seu negócio principal, em vez das complexidades do gerenciamento de notificações.

SuprSend foi projetado para lidar com as complexidades da orquestração de notificações para você.

Building and Optimizing a Notification System and Infrastructure

Como líder de engenharia, considere as necessidades, os recursos e as metas de longo prazo da sua empresa ao decidir se deve construir um sistema de notificação internamente ou usar uma solução de terceiros. O objetivo é criar uma experiência de usuário integrada e envolvente.

Confira mais de nossos insights de engenharia aqui:

  • Como o Redis resolveu nossos desafios com agendamento dinâmico de tarefas e execução simultânea
    A definição do problema era simples, ou assim pensávamos. Em nossa configuração anterior, usamos goroutines para agendar consultas ao banco de dados, o que nos permite executar toda a configuração em configuração mínima com SQLite and go service. Parece bastante simples, mas quando decidimos ter esse recurso também em nossa plataforma SaaS, no início, não percebemos que também estaríamos enfrentando um novo conjunto de desafios de agendamento dinâmico e execução simultânea de tarefas.
    Precisávamos de uma maneira de sincronizar os dados de maneira programada, do data warehouse do cliente para nosso armazenamento de dados.

  • Comparando infraestrutura de notificação e ferramentas de automação de marketing
    Discutimos quando devemos preferir ferramentas de automação de marketing como Braze, Cutomer.io e quando faz sentido verificar ferramentas de infraestrutura de notificação como SuprSend.

  • Sincronização dinâmica do tema da Central de notificações no aplicativo com o estado atual do tema do aplicativo
    Apresentando alguns recursos de personalização de nossa central de notificações da caixa de entrada do aplicativo

  • Aprimorando o envolvimento do usuário com roteamento de canal de notificações
    Aprenda como fazer o roteamento eficiente do canal de notificações, ou seja, se o e-mail não estiver disponível, envie SMS com lógica inteligente.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/suprsend/building-and-optimizing-a-notification-system-and-infrastructure-4b6j?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3