O EdgeRoutine (ER) é um serviço de computação serverless que executa código JavaScript nos pontos de presença (POPs) globais do Alibaba Cloud. Ele oferece suporte à sintaxe ES6 e às APIs padrão de Web Service Worker. As requisições são processadas no POP mais próximo de cada usuário, garantindo respostas com latência ultrabaixa.
Ativação
Atualmente, o ER é um recurso em versão beta, disponível apenas mediante convite. Se o pico diário de largura de banda da sua CDN ou DCDN ultrapassar 500 Mbps, ou envie um ticket para solicitar a ativação. Para atualizações sobre disponibilidade geral, visite o site oficial.
O ER no DCDN do Alibaba Cloud não estará mais disponível para novos usuários a partir das 00:00 (UTC+8) de 1º de maio de 2025. Os usuários existentes não serão afetados.
Para utilizar essa funcionalidade, faça upgrade para o ESA e utilize o recurso ESA Functions and Pages.
Benefícios
Implantação global e latência ultrabaixa: Diferentemente do Function Compute ou do Elastic Compute Service (ECS), o ER não exige implantação específica por região. Ele opera em uma rede global de POPs. As requisições dos clientes são roteadas para o POP mais próximo, que executa seu código e responde diretamente, minimizando a latência.
Dimensionamento automático e faturamento conforme o uso: Com mais de 3.200 POPs, o Alibaba Cloud oferece elasticidade nativa — picos de requisições são automaticamente direcionados a POPs próximos com capacidade disponível. O ER utiliza faturamento conforme o uso, baseado no número de invocações. Você paga apenas enquanto seu código está em execução.
Serverless e fácil de usar: Concentre-se na lógica de negócios sem precisar gerenciar infraestrutura (CPUs, memória, rede ou sistema operacional). Implante o código enviando-o pelo console ou chamando uma API. O modelo serverless reduz os custos de desenvolvimento e operações.
Como funciona
Fluxo de requisição para CDN/DCDN sem ER: 1. O cliente envia uma requisição ao gateway do POP. → 2. O POP verifica seu cache. Em caso de acerto de cache, o conteúdo retorna ao cliente. → 3. Se houver falha de cache, a requisição é encaminhada ao servidor de origem.
-
Fluxo de requisição para CDN/DCDN com ER: 1. O cliente envia uma requisição ao gateway do POP. → 4. O ER intercepta a requisição e executa seu código JavaScript. → Seu código pode usar
fetchpara acessar o cache, recuperar conteúdo do servidor de origem (Seta 5 ou 3) ou chamar outros serviços web públicos (Seta 6).NotaO ER executa após o gateway, portanto as configurações do console do seu nome de domínio CDN/DCDN — HTTPS, controle de acesso, otimização de desempenho e regras de cache — permanecem ativas.
Conceitos principais
-
Function: Uma Routine é um ambiente de execução JavaScript em um POP que roda o código enviado por você. Para usar o ER, crie primeiro uma Routine. Cada Routine possui duas partes: configurações (nome, descrição, especificações de CPU/memória e lista de permissões de nomes de domínio) e seu código JavaScript.
-
Version: As Routines suportam gerenciamento de versões. Capture seu código como uma versão a qualquer momento durante o desenvolvimento. Publicar uma Routine exige a seleção de uma versão específica para implantação. É possível reverter para versões anteriores e gerencie o histórico do código. Cada versão recebe um número gerado pelo sistema.
-
Environment: O ER fornece ambientes de staging, produção e canary para desenvolvimento, testes e implantação.
Ambiente de staging: Um nó de borda independente para testar seu código. Ele simula a produção, mas é totalmente isolado — alterações aqui não afetam o ambiente de produção. Acesse-o adicionando o IP de staging fornecido ao seu arquivo
hosts.Ambiente de produção: O ambiente ativo, composto por POPs distribuídos globalmente. Após testar no staging, publique seu código na produção. O ER dimensiona automaticamente os nós com base no volume de requisições; a distribuição regional real pode variar.
Ambiente canary: Implantar diretamente na produção traz o risco de afetar todos os usuários caso existam erros. Utilize implantações canary para expandir gradualmente o escopo da implantação. Ambiente canary (opcional).
-
Domain Name: Após criar e publicar uma Routine, você precisa de um nome de domínio como ponto de entrada do cliente. O ER suporta apenas nomes de domínio acelerados do Alibaba Cloud CDN ou DCDN como pontos de entrada. Associe sua Routine a um nome de domínio acelerado no console da CDN ou DCDN.
Ponto de presença (POP): "Borda" refere-se à implantação distribuída, em oposição à centralizada. Um POP é um nó de CDN/DCDN mais próximo do cliente que processa as requisições recebidas.
Limitações
|
Item |
Limite |
Descrição |
|
Tempo de CPU |
5 ms, 50 ms ou 100 ms |
Tempo de CPU por execução do ER (exclui espera de I/O). Escolha entre as especificações de 5 ms, 50 ms ou 100 ms. Faturamento. |
|
Memória |
128 MB |
Memória total por nome de domínio em uma única máquina física. Todas as requisições para esse nome de domínio na máquina compartilham este pool. |
|
Tempo de execução (RT) |
120s |
Tempo máximo total de resposta por execução do ER, incluindo espera de I/O. |
|
Tempo de espera |
10 segundos |
Tempo máximo que o gateway aguarda por uma resposta do ER. Se nenhum dado retornar dentro de 10 segundos, o gateway encerra a conexão e devolve um código de status 504. |
|
Tamanho do pacote de código |
4 MB |
Tamanho máximo do arquivo de código JavaScript por Routine. |
|
Número de sub-requisições |
4 |
Máximo de requisições |
|
Linguagem de programação |
JavaScript (sintaxe ES6) |
Apenas JavaScript é suportado. Conhecimento em programação JavaScript é obrigatório. |
|
Quantidade de Routines |
50 |
Máximo de Routines por conta Alibaba Cloud. |
|
Quantidade de versões |
10 |
Máximo de versões por Routine. |
|
Protocolos suportados |
Apenas HTTPS |
WebSocket, TCP e UDP não são suportados. |
|
Sub-requisições aninhadas |
Não suportado |
Uma instância do ER não pode fazer |