aws-samples / aws-samples/integration-sample-lambda-msk
Parallelization Factor for MSK Event Source Mapping
- Dominant language
- Java
- Stars
- 11
- Forks
- 10
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
Hi,
Is there a way to set concurrency of the lambda function so that multiple batches can be processed simultaneouly?
From the [aws lambda cli docs](https://docs.aws.amazon.com/cli/latest/reference/lambda/create-event-source-mapping.html) I see there is a `--parallelization-factor` which I think is supported for Kinesis streams, but not MSK?
**Are there any plans to support this for MSK?**
If I understood the MSK event source correctly, it polls a target MSK topic across partitions and invokes a lambda function with the obtained batch synchronously? So in order to poll for another batch, the invoked lambda function must complete execution before a subsequent poll can begin?
Therefore, the throughput that can be handled is a function of:
- The number of topic partitions (more partitions allows for higher throughput)
- The batch size of the MSK event source (10,000 is currently the max)
- The execution time of the lambda function.
> For example, if the execution takes 100ms vs. 10secs this makes a difference to the consumer lag in high-throughput topics?
Many thanks,
David
Contributor guide
Assessment
This issue has not been assessed yet.