Я добился большого успеха, комбинируя SQS с SimpleDB.Он «централизован», но только настолько, насколько SQS.
Каждая работа получает запись в simpleDB и задачу в SQS.Вы можете поместить любую информацию, которая вам нравится, в SimpleDB, например, время создания вакансии.Когда работник извлекает задание из очереди, он может получить соответствующую запись из simpleDB, чтобы определить ее историю.Вы можете видеть, сколько лет заданию, и сколько раз его пытались выполнить.Когда вы закончите, вы можете добавить рабочие данные в запись SimpleDB (время завершения, результат, журналы, ошибки, трассировка стека и т. Д.) И подтвердить сообщение из SQS.
Я предпочитаю этот метод, потому что онпомогает диагностировать неисправности, предоставляя множество отладочной информации для сбойных задач.Это также позволяет работникам обрабатывать работу по-разному, в зависимости от того, как долго работа была поставлена в очередь, сколько отказов у нее было и т. Д.
Это также дает вам возможность напрямую запрашивать SimpleDB и вычислять такие вещи, как среднее время зазадание, процент отказов и т. д.