Эмуляция Amazon SQS во время разработки

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

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


person Derek Mortimer    schedule 25.02.2010    source источник


Ответы (7)


Некоторые из SDK Amazon имеют «фиктивный» режим, а именно:

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

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

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

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

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

См. здесь для получения дополнительной информации

person BigJoe714    schedule 02.03.2010
comment
Пожалуйста, смотрите мой ответ относительно Java SDK ниже. - person tkotisis; 14.11.2012

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

person adamw    schedule 19.08.2012
comment
Мы использовали ElasticMQ локально и в наших модульных / интеграционных тестах, и он отлично работает. Это должен быть выбранный ответ. - person anataliocs; 18.02.2017
comment
Это действительно должен быть выбранный ответ. ???? - person deadlock; 04.05.2017

GoAws - https://github.com/p4tin/goaws - только что был выпущен в качестве бета-версии. (отказ от ответственности - я разработчик).

person Paul A. Fortin    schedule 02.06.2016
comment
Если вам просто нужен SQS или SNS, это идеально и намного быстрее, чем LocalStack. - person rrhartjr; 13.09.2019

Если вам нужен тестовый дублер не только для SQS, вы можете попробовать LocalStack.

Для моделирования SQS он внутренне использует ElasticMQ, упомянутый adamw.

Например, вы можете запустить LocalStack через Docker, и он запустит следующие службы:

person Mifeet    schedule 07.06.2018

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

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

person tkotisis    schedule 14.11.2012

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

person Peter Hizalev    schedule 20.05.2010

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

person Paul A. Fortin    schedule 15.05.2016