

# Processamento de baixa latência para fontes de eventos do Kafka
<a name="with-kafka-low-latency"></a>

O AWS Lambda oferece suporte nativo ao processamento de eventos de baixa latência para aplicações que exigem latências consistentes de ponta a ponta de menos de 100 milissegundos. Esta página fornece detalhes de configuração e recomendações para permitir fluxos de trabalho de baixa latência.

## Habilite o processamento de baixa latência
<a name="enable-low-latency"></a>

Para habilitar o processamento de baixa latência em um mapeamento da origem do eventos do Kafka, é necessária a seguinte configuração básica: 
+ Habilite o modo provisionado. Para obter mais informações, consulte [Modo provisionado](kafka-scaling-modes.md#kafka-provisioned-mode).
+ Defina o parâmetro do mapeamento da origem do evento `MaximumBatchingWindowInSeconds` como 0. Para obter mais informações, consulte [Comportamento de lotes](invocation-eventsourcemapping.md#invocation-eventsourcemapping-batching).

## Ajuste o ESM do Kafka de baixa latência
<a name="recommendations-low-latency"></a>

Considere as recomendações a seguir para otimizar seu mapeamento da origem do evento do Kafka para baixa latência:

### Configuração do modo provisionado
<a name="recommendations-pollers"></a>

No modo provisionado do mapeamento da origem do evento do Kafka, o Lambda permite ajustar o throughput do mapeamento da origem do evento configurando um número mínimo e máximo de recursos chamados **sondagens de eventos**. Uma sondagem de eventos (ou **uma sondagem**) representa um recurso computacional que sustenta um mapeamento da origem do evento no modo provisionado e aloca um throughput de até 5 MB/s. Cada sondagem de eventos suporta até 5 invocações simultâneas do Lambda.

Para determinar a configuração ideal da sondagem para sua aplicação, considere sua taxa de ingestão máxima e os requisitos de processamento. Vamos dar uma olhada em um exemplo simplificado:

Com um tamanho de lote de 20 registros e uma duração média da função de destino de 50 ms, cada sondagem pode lidar com 2.000 registros por segundo, sujeitos ao limite de 5 MB/s. Isso é calculado como: (20 registros × 1000ms/50ms) × 5 invocações simultâneas do Lambda. Portanto, se a taxa de ingestão máxima desejada for de 20.000 registros por segundo, você precisará de pelo menos 10 sondagens de eventos.

**nota**  
Recomendamos provisionar as sondagens de eventos adicionais como buffer para evitar que a operação consistente atinja a capacidade máxima.

O modo provisionado dimensiona automaticamente suas sondagens de eventos com base nos padrões de tráfego dentro das **sondagens de eventos** mínimas e máximas configuradas, o que pode acionar o rebalanceamento e, portanto, introduzir latência adicional. Você pode desabilitar o ajuste de escala automático ao configurar o mesmo valor para o mínimo e máximo de **sondagem de eventos**.

### Considerações adicionais
<a name="additional-considerations-low-latency"></a>

Algumas das considerações adicionais incluem:
+ As partidas a frio da invocação da função de destino do Lambda podem potencialmente aumentar a latência de ponta a ponta. Para reduzir esse risco, considere habilitar a [simultaneidade provisionada](provisioned-concurrency.md) ou o [SnapStart](snapstart.md) na função de destino do mapeamento da origem do evento. Além disso, otimize a alocação de memória de sua função para garantir execuções consistentes e ideais.
+ Quando `MaximumBatchingWindowInSeconds` for definido como 0, o Lambda processará imediatamente todos os registros disponíveis sem esperar para preencher o tamanho completo do lote. Por exemplo, se o tamanho do lote estiver definido para 1.000 registros, mas apenas 100 registros estiverem disponíveis, o Lambda processará esses 100 registros imediatamente, em vez de esperar que os 1.000 registros completos se acumulem.

**Importante**  
A configuração ideal para processamento de baixa latência varia significativamente com base na workload específica. Enfatizamos a recomendação de testar diferentes configurações com sua workload real para determinar as melhores configurações para seu caso de uso. 