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á.
Ao usar uma fila FIFO (primeiro entrar, primeiro a sair) com o Lambda, você pode garantir o processamento ordenado de mensagens em cada grupo de mensagens. A função do Lambda não executará várias instâncias para o mesmo grupo de mensagens simultaneamente, mantendo assim a ordem. No entanto, é possível aumentar a escala verticalmente para lidar com vários grupos de mensagens em paralelo, garantindo o processamento eficiente da workload da fila. Os pontos a seguir descrevem o comportamento das funções Lambda ao processar mensagens de uma fila FIFO do Amazon SQS em relação ao grupo de mensagens: IDs
-
Instância única por grupo de mensagens: a qualquer momento, somente uma instância do Lambda processará mensagens de um ID de grupo de mensagens específico. Isso garante que as mensagens dentro do mesmo grupo sejam processadas em ordem, mantendo a integridade da sequência FIFO.
-
Processamento simultâneo de grupos diferentes: O Lambda pode processar simultaneamente mensagens de diferentes IDs grupos de mensagens usando várias instâncias. Isso significa que, enquanto uma instância da função Lambda está manipulando mensagens de um ID de grupo de mensagens, outras instâncias podem manipular simultaneamente mensagens de outro grupo de mensagens IDs, aproveitando os recursos de simultaneidade do Lambda para processar vários grupos em paralelo.
Agrupamento de mensagens de fila FIFO
As filas FIFO garantem que as mensagens sejam processadas na ordem exata em que foram enviadas. Eles usam um ID de grupo de mensagens para agrupar mensagens que devem ser processadas sequencialmente.
As mensagens dentro do mesmo grupo de mensagens são processadas em ordem, e somente uma mensagem de cada grupo é processada por vez para manter essa ordem.
Simultaneidade do Lambda com filas FIFO
Depois de criar sua fila, você pode enviar uma mensagem para ela.
Quando você configura uma função do Lambda para processar mensagens de uma fila FIFO do Amazon SQS, o Lambda respeita as garantias de ordenação fornecidas pela fila FIFO. Os pontos a seguir descrevem o comportamento das funções do Lambda em termos de simultaneidade e escalabilidade ao processar mensagens de uma fila FIFO do Amazon SQS ao usar um grupo de mensagens. IDs
-
Simultaneidade em grupos de mensagens: somente uma instância do Lambda processa mensagens para determinado ID de grupo de mensagens por vez. Isso garante que as mensagens dentro de um grupo sejam processadas sequencialmente.
-
Escalabilidade e vários grupos de mensagens: embora o Lambda possa aumentar a escala verticalmente para processar mensagens de forma simultânea, essa escalabilidade ocorre em diferentes grupos de mensagens. Se você tiver vários grupos de mensagens, o Lambda poderá processar vários grupos em paralelo, com cada grupo sendo tratado por uma instância separada do Lambda.
Consulte mais informações em Scaling and concurrency in Lambda no AWS Lambda Operator Guide.
Exemplos de casos de uso
Suponha que a fila FIFO receba mensagens com o mesmo ID de grupo de mensagens e a função do Lambda tenha um alto limite de simultaneidade (até 1.000).
Se uma mensagem do ID do grupo “A” estiver sendo processada e outra mensagem do ID do grupo “A” chegar, a segunda mensagem não acionará uma nova instância do Lambda até que a primeira mensagem seja totalmente processada.
No entanto, se as mensagens dos grupos IDs 'A' e 'B' chegarem, ambas poderão ser processadas simultaneamente por instâncias Lambda separadas.