Domanda di colloquio di Amazon

Design an email sender that can send 100,000,000 emails. You have 5 machines how could you do it efficiently.

Risposte di colloquio

Anonimo

21 ago 2010

You could probably have your input application send messages to a clustered queue. There are 5 servers running on the 5 machines, each server with its own MDB. The MDB would then pick it up from the JMS queue and send it to the recipient. The queue depth of the intermediate queue should be sufficient enough to allow sufficient buffer so that you dont have to worry about your input program putting messages at a much faster rate than the MDBs can process.

6

Anonimo

19 mar 2009

Need to discuss where the performance bottlenecks are and how to mitigate them.

1

Anonimo

1 mag 2011

use worker threads aka. Executors they have internal job queues that worker threads pick on. Provides high parallelism