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.
Idiomas compatíveis
As instâncias gerenciadas do Lambda podem ser usadas com as seguintes linguagens de programação e runtimes:
-
Java: Java 21 e posteriores.
-
Python: Python 3.13 e posteriores.
-
Node.js: Node.js 22 e posteriores.
-
.NET: .NET 8 e posteriores.
-
Rust: com suporte usando o runtime exclusivo do sistema operacional
provided.al2023e versões posteriores.
Considerações específicas de cada linguagem
Cada linguagem de programação implementa a multiconcorrência de maneira 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
.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.
Rust
Utiliza um único processo com tarefas assíncronas implementadas por TokioClone + Send.
Próximas etapas
Para obter informações detalhadas sobre cada runtime, consulte os tópicos a seguir: