Your application provides data transformation services. Files containing data to be transformed are first
uploaded to Amazon S3 and then transformed by a fleet of spot EC2 instances. Files submitted by your
premium customers must be transformed with the highest priority.
How should you implement such a system?
Use a DynamoDB table with an attribute defining the priority level. Transformation instances will scan the
table for tasks, sorting the results by priority level.
Use Route 53 latency based-routing to send high priority tasks to the closest transformation instances.
Use two SQS queues, one for high priority messages, the other for default priority. Transformation
instances first poll the high priority queue; if there is no message, they poll the default priority queue.
Use a single SQS queue. Each message contains the priority level. Transformation instances poll highpriority messages first.