Home Technical Articles API de gráficos de cache no Edge com hospedagem sem servidor em Layer0 da Limelight
Applications

API de gráficos de cache no Edge com hospedagem sem servidor em Layer0 da Limelight

About The Author

Outline

O GraphQL é uma linguagem de consulta popular para ler e mutar dados em APIs e é uma tecnologia chave na tendência para sites sem cabeça. Ele permite que os web construtores tornem a camada de API flexível, poderosa e eficiente. Os desenvolvedores enfrentam desafios, no entanto, ao armazenar em cache as APIs do GraphQL na borda da rede. Por essa razão, Edgio desenvolveu uma solução que facilita o armazenamento em cache de borda para o GraphQL e permite que as equipes hospedem o servidor do GraphQL em um ambiente sem servidor. O armazenamento em cache de gráficos preenche uma lacuna no mercado de aplicativos web sem cabeça e API-First e prova o valor das forças de união de Layer0 e Limelight.

O que é o GraphQL

A linguagem de consulta do GraphQL melhora as APIS REST tradicionais e tem tido um crescimento e adoção tremendos entre os desenvolvedores. Originalmente incubada no Facebook e mais tarde de código aberto, a GraphQL fornece obtenção de dados declarativa e eficiente, melhorando significativamente o desempenho. Além disso, o esquema fortemente digitado entre o cliente e o servidor permite que as equipas iterem as suas APIs de forma mais rápida e independente, sem incorrer em dores de cabeça com versões.

O GraphQL pode ser usado com qualquer estrutura de back-end ou linguagem de programação. Este benefício, combinado com as suas ferramentas poderosas (isto é, digitação forte e suporte embutido para introspeção) torna o GraphQL especialmente popular entre desenvolvedores de organizações empresariais que usam arquiteturas sem cabeça ou API-First, como Twitter e Airbnb. Na pesquisa anual do estado do JS , o GraphQL obteve as maiores pontuações de conscientização (98%), satisfação (94%) e interesse (87%) entre os desenvolvedores do que qualquer outra solução de camada de dados.

Problemas de armazenamento em cache com o GraphQL no Edge

Os tradicionais CDNs e o software de armazenamento em cache foram criados com base em APIs REST, nas quais apenas as solicitações DE GET DE HTTP são armazenadas em cache, e a chave de cache pode ser derivada da URL REST. Infelizmente, o GraphQL usa o formato DE POST HTTP mais complexo, e a cacheabilidade e as chaves de cache devem ser determinadas a partir do corpo do HTTP. Embora fosse ótimo se um simples flip de troca pudesse armazenar em CACHE O post DE HTTP, não é assim tão simples. Para armazenar em cache o GraphQL, o CDN deve ser capaz de analisar e entender o formato do GraphQL, que não pode. Como resultado, o desempenho do GraphQL é um desafio para os desenvolvedores.

É comum que as equipas de desenvolvimento passem tempo a criar soluções alternativas do zero para armazenar em cache o GraphQL – e mesmo assim, o armazenamento em cache não é ideal. A má gestão do GraphQL pode levar a baixas taxas de acerto de cache. No entanto, se feito corretamente, o armazenamento em cache do GraphQL na borda leva a APIs mais rápidas, mais confiáveis e escaláveis. Layer0 torna isso fácil.

Layer0 resolve desafios de armazenamento em cache na borda da rede

O Layer0 fornece suporte total para armazenar em cache as APIs do GraphQL na borda, levando a um melhor desempenho e menos tráfego na sua origem. O Layer0 resolve o desafio chave de armazenar em cache as APIs do GraphQL na borda da rede adicionando a análise do GraphQL e o suporte ao MÉTODO POST ao EdgeJS, uma linguagem declarativa baseada em JavaScript de alto desempenho para lógica de borda. Com o EdgeJS, os construtores de web podem criar uma poderosa lógica de armazenamento de dados personalizada com base nas propriedades de suas consultas de GraphQL e cabeçalhos de HTTP, como cookies e autenticação.

Com o EdgeJS da Layer0, um desenvolvedor pode armazenar informações em cache, como um ID de produto em uma API de comércio eletrônico, a partir de uma resposta do GraphQL. Ele também pode armazenar em cache atributos como linguagem, moeda e preferências de personalização incorporadas nos cabeçalhos de solicitação. Estes podem ser definidos por outros componentes não-grafQL na pilha que ainda não foram migrados para o GraphQL.

Uma vez armazenado em cache, Layer0 permite que você expurgue consultas individuais ou coleções da borda atribuindo chaves substitutos a cada resposta em cache. Por exemplo, em um aplicativo de comércio eletrônico, os desenvolvedores poderiam usar o EdgeJS para dar às equipes a capacidade de limpar seletivamente o cache por ID de produto, categoria de produto ou qualquer outro atributo de produto no console ou nas API da consulta Layer0 (Edgio).

Para entender isso com mais detalhes, veja a demonstração abaixo que explica como converter uma API REST para o GraphQL e adicionar armazenamento em cache na borda usando o popular framework Next.js, Apollo Server e Layer0.

Atingir 100% de taxa de acerto de cache

Nenhuma outra CDN trabalha tão arduamente quanto Layer0 para permitir que as equipas maximizem a sua taxa de acerto de cache. O EdgeJS facilita para os desenvolvedores configurar o armazenamento em cache a partir de sua aplicação, permitindo que os desenvolvedores armazenem em em cache o que antes não era armazenado em cache.

O EdgeJS é flexível e poderoso, suportando recursos modernos de armazenamento em cache, como chaves obsoletas e substitutos. Os nossos clientes já usaram chaves substitutos para ligar o Layer0 aos seus sistemas de gestão de encomendas e conteúdos para limpar páginas individuais de produtos do cache quando o inventário, o preço ou o conteúdo mudam. Isso permite que eles mantenham altas taxas de acerto de cache para todas as outras páginas e APIs que não mudaram quando um item individual muda.

Além disso, a plataforma também inclui o aquecimento automático do cache do conteúdo de tráfego mais alto depois de um deploy. A rede Layer0 coordena de forma inteligente o roteamento e o armazenamento em cache entre os POPs para maximizar a probabilidade de um acerto de cache. Se um POP não tiver um dado, ele irá solicitar de forma eficaz outro POP antes de a solicitação ser encaminhada para o servidor de origem. Para monitorar facilmente o desempenho do site e a taxa de acerto do cache, os desenvolvedores podem ter acesso à observabilidade e às principais métricas. Para granularidade, a plataforma destaca proativamente as rotas de aplicação que precisam de melhorias.

O Edgio é confiado pelas maiores empresas de streaming do mundo, incluindo os clubes de futebol da Premier League e a BYJU. Edgio tem mais de 135 pontos de presença (POP) em todo o mundo que vão além das funções médias de uma CDN e coordenam dados entre si para aquecer o cache.

Hospedagem sem servidor do GraphQL

Edgio também oferece serviços sem servidor, incluindo a hospedagem GraphQL. As equipas podem gerir e enviar chamadas de tempo de execução para o servidor GraphQL alojado num ambiente sem servidor no Layer0, eliminando as preocupações com a infraestrutura e a escala.

Aumente a produtividade, o desempenho e a segurança no Edgio

O Layer0 ajuda as equipas de construtores de websites a aumentar a produtividade dos programadores, a aumentar o desempenho do site e a melhorar a segurança. O Layer0 facilita o desenvolvimento e a manutenção da lógica de borda durante todo o ciclo de vida do desenvolvimento e fornece sites de sub-segundos por meio de pré-busca de conteúdo dinâmico, tornando-o a CDN que as equipes de desenvolvimento adoram usar.

Layer0 inclui tudo o desenvolvimento, e as equipas de DevOps precisam de implementar uma arquitetura sem cabeça ou Jamstack, incluindo alojamento, sem servidor, observabilidade, RUM e integração CI/CD. As equipas podem ser flexíveis na forma como utilizam o Layer0. Eles podem usá-lo para armazenar em cache as suas APIs do GraphQL, executar o servidor do GraphQL em um ambiente sem servidor ou hospedar toda a sua aplicação sem cabeça. O Layer0 também tem poderosas opções de roteamento que permitem que as equipes migrem gradualmente aplicativos legados para arquiteturas sem cabeça ou com a API-First de forma fragmentada.

O suporte e a compatibilidade com sistemas legados tornam o Edgio ideal para grandes empresas migrando para o GraphQL com uma mistura de componentes tradicionais e modernos.