Runtimes de instâncias gerenciadas do Lambda - AWS Lambda

Runtimes de instâncias gerenciadas do Lambda

O Lambda processa solicitações de forma diferente ao usar as instâncias gerenciadas do Lambda. Em vez de lidar com solicitações sequencialmente em cada ambiente de execução, as instâncias gerenciadas do Lambda processam várias solicitações simultaneamente em cada ambiente de execução. Essa mudança no modelo de execução significa que as funções que usam instâncias gerenciadas do Lambda precisam considerar a segurança de threads, o gerenciamento do estado e o isolamento do contexto, questões que não surgem no modelo de simultaneidade única do Lambda (padrão). Além disso, a implementação de multissimultaneidade varia entre os runtimes.

Tempos de execução compatíveis

Os runtimes a seguir oferecem suporte às instâncias gerenciadas do Lambda:

  • Java: Java 21 e posteriores.

  • Python: Python 3.13 e posteriores.

  • Node.js: Node.js 22 e posteriores.

  • .NET: .NET 8 e posteriores.

Considerações específicas do runtime

Cada runtime implementa a multissimultaneidade de forma diferente. Você precisa entender como a multisaimultaneidade é implementada na linguagem de programação escolhida para aplicar as melhores práticas de simultaneidade apropriadas.

Java

Usa um único processo com threads de sistema operacional para simultaneidade. Vários threads executam o método manipulador simultaneamente, exigindo um tratamento seguro do estado e dos recursos compartilhados.

Python

Usa vários processos do Python em que cada solicitação simultânea é executada em um processo separado. Isso protege contra a maioria dos problemas de simultaneidade, embora seja necessário cuidado com recursos compartilhados, como o diretório /tmp.

Node.js

Usa threads de operador com execução assíncrona. As solicitações simultâneas são distribuídas entre os threads de operador, e cada thread de operador também pode lidar com solicitações simultâneas de forma assíncrona, exigindo tratamento seguro do estado e dos recursos compartilhados.

.NET

Usa tarefas do .NET com processamento assíncrono de várias solicitações simultâneas. Requer o manuseio seguro do estado e dos recursos compartilhados.

Próximas etapas

Para obter informações detalhadas sobre cada runtime, consulte os tópicos a seguir: