2010-02-25 2 views
37

Мне очень интересно начать разработку с использованием Amazon SQS, возможно, SimpleDB тоже, мой вопрос в том, есть ли какие-либо решения с открытым исходным кодом, имитирующие функциональность, только для целей разработки. Я уже столкнулся с проектом Eucalyptus (http://open.eucalyptus.com) для создания облака EC-esque.Эмуляция Amazon SQS во время разработки

У меня не было никакого успеха с Google, я подозреваю, что это потому, что стоимость входа настолько недорогая, но все-таки кто-нибудь знает что-нибудь подобное?

ответ

27

Некоторые из Amazon SDKs имеют режим «макет», который:

Фиктивный служба является альтернативным способом использовать образец кода. Служба не вызывает AWS, но вместо этого возвращает ответ набора, который вы можете изменить на в соответствии с вашими потребностями (ответ XML файлов находится в каталоге Mock). mock-сервис позволяет вам проверить, как ваше приложение обрабатывает различные ответы.

Для SQS, похоже, что в Perl и PHP SDK есть макетный режим. Я знаю, что .NET SDK для Amazon RDS также имеет макетный режим.

Java-SDK не содержит фиктивные реализаций:

КЛИЕНТА фиктивных реализации были удалены. Вместо этого разработчики рекомендуется использовать более гибкие и полноценные имитировали библиотеки, такие как EasyMock, jMock

Если SDK вы будете использовать не фиктивный режим доступен, вы, вероятно, может создать свой собственный аналогичный тип вещи, который возвращает предварительно сконфигурированные ответы вместо фактического удара по службе.

See here для получения дополнительной информации

+0

Большое спасибо, это идеально! –

+2

Пожалуйста, см. Мой ответ ниже относительно Java SDK. – tkotisis

3

Если вы в .NET или Mono, вы можете попробовать Stratosphere. Он имеет локальные реализации, имитирующие SimpleDB, SQS и S3. Для реализации SimpleDB mock используется SQLite, для SQS и S3 он хранит сообщения/объекты в файловой системе.

60

Для SQS я написал ElasticMQ, который вы можете запустить либо встроенным (он написан на Scala, так и работает на JVM), либо автономно. Он имеет как постоянные, так и встроенные режимы, первый из которых хорош для разработчиков, второй для тестирования.

+4

замечательная работа! это именно то, что я искал. –

+1

Мы использовали ElasticMQ локально и в наших тестах unit/integration, и он отлично работает. Это должен быть выбранный ответ. – anataliocs

+1

Это должен быть выбранный ответ. – deadlock

9

Что касается Java SDK, он уже больше не содержит фиктивные реализации:

КЛИЕНТА фиктивных реализации были удалены. Вместо этого разработчики рекомендуется использовать более гибкие и полноценные имитировали библиотеки, такие как EasyMock, jMock

1

, если вам нужно, чтобы имитировать SNS, а также SQS вы можете проверить: Yopa

Смежные вопросы