I’m working on a food delivery app where we need to batch orders for delivery. We want to collect all orders and create a system where each delivery person handles five orders at a time. Additionally, we plan to schedule deliveries after 5 PM each day for the next day’s orders.
I’m considering several options for managing and processing these orders efficiently. Could you help me evaluate the following approaches?
Using Kafka: How can I leverage Kafka to batch orders at 5 PM? What would be the best way to set up producers, consumers, and batching logic with Kafka in this scenario?
Using SQS: If I opt for Amazon SQS, how can I use it to batch orders and manage them for delivery? How should I set up scheduled tasks to handle batching and ensure efficient processing?
Using Kinesis: How would Amazon Kinesis fit into this process? Can you provide insights on using Kinesis Data Streams or Kinesis Data Analytics for real-time batching and processing? What would be the best practices for integrating Kinesis into this workflow?
I’m looking for guidance on which of these options might be the most cost-effective and scalable for handling high volumes of orders, and any recommendations on best practices for implementation.