As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Descoberta de serviço
O padrão de descoberta de front-ends melhora a experiência de desenvolvimento ao desenvolver, testar e fornecer microfront-ends. O padrão usa uma configuração compartilhável que descreve o ponto de entrada dos microfront-ends. A configuração compartilhável também inclui metadados adicionais que são usados para implantações seguras em cada ambiente usando versões canary.
O desenvolvimento moderno de front-end envolve o uso de uma ampla variedade de ferramentas e bibliotecas para oferecer suporte à modularidade durante o desenvolvimento. Tradicionalmente, esse processo consistia em agrupar código em arquivos individuais que poderiam ser hospedados em uma CDN com o objetivo de manter as chamadas de rede no mínimo durante o tempo de execução, incluindo o carregamento inicial (quando um aplicativo é aberto em um navegador) e o uso (quando um cliente realiza ações como escolher botões ou inserir informações).
Dividindo pacotes
As arquiteturas de microfront-end resolvem os problemas de desempenho causados por pacotes muito grandes gerados pelo agrupamento individual de um grande conjunto de funcionalidades. Por exemplo, um site de comércio eletrônico muito grande pode ser agrupado em um JavaScript arquivo de 6 MB. Apesar da compactação, o tamanho desse arquivo pode afetar negativamente a experiência do usuário ao carregar o aplicativo e baixar o arquivo de uma CDN otimizada para borda.
Se você dividir o aplicativo em página inicial, detalhes do produto e microfront-ends do carrinho, poderá usar um mecanismo de agrupamento para produzir três pacotes individuais de 2 MB. Essa alteração pode melhorar o desempenho do primeiro carregamento em 300% quando os usuários consomem a página inicial. Os pacotes de micro-front-ends do produto ou carrinho são carregados de forma assíncrona somente se e quando o usuário visita a página do produto de um item e decide comprá-lo.
Muitas estruturas e bibliotecas estão disponíveis com base nessa abordagem, e há vantagens para clientes e desenvolvedores. Para identificar limites comerciais que podem resultar na dissociação de dependências no código, você pode mapear diferentes funções de negócios para várias equipes. A propriedade distribuída introduz independência e agilidade.
Ao dividir pacotes de compilação, você pode usar uma configuração para mapear microfront-ends e conduzir a orquestração para o carregamento inicial e para a navegação pós-carregamento. Então, a configuração pode ser consumida durante o tempo de execução e não durante o tempo de construção. Por exemplo, o código de front-end do lado do cliente ou o código de back-end do lado do servidor podem fazer uma chamada de rede inicial para uma API para buscar dinamicamente a lista de microfrontends. Ele também busca os metadados necessários para composição e integração. Você pode configurar estratégias de failover e armazenamento em cache para garantir confiabilidade e desempenho. O mapeamento dos microfront-ends ajuda a fazer com que implantações individuais de microfront-ends sejam detectáveis por microfront-ends implantados anteriormente que são orquestrados por um aplicativo shell.
Lançamentos do Canary
Uma versão canary é um padrão bem estabelecido e popular para a implantação de microsserviços. As versões do Canary agrupam os usuários-alvo de uma versão em vários grupos, e a versão muda gradualmente, em vez de uma substituição imediata (também conhecida como implantação azul/verde). Um exemplo de uma estratégia de lançamento rápido é implementar uma nova alteração em 10% dos usuários-alvo e adicionar 10% a cada minuto, com uma duração total de 10 minutos para chegar a 100%.
O objetivo de uma versão canary é obter feedback antecipado sobre as mudanças, monitorando o sistema para reduzir o impacto de quaisquer problemas. Quando a automação está em vigor, as métricas do negócio ou do sistema podem ser monitoradas por um sistema interno que pode interromper a implantação ou iniciar uma reversão.
Por exemplo, uma mudança pode introduzir um bug que, nos primeiros dois minutos de uma versão, resulta em perda de receita ou degradação do desempenho. O monitoramento automatizado pode iniciar um alarme. Com o padrão de descoberta de serviços, esse alarme pode interromper a implantação e reverter imediatamente, afetando apenas 20% dos usuários em vez de 100%. A empresa se beneficia da redução do escopo do problema.
Para ver um exemplo de arquitetura que usa o DynamoDB como armazenamento para implementar uma API REST Admin, consulte a solução Frontend Service Discovery on AWS em