2010-02-25 21 views
37

Estoy bastante interesado en comenzar algún desarrollo usando Amazon SQS, quizás SimpleDB también, mi pregunta es esta, ¿hay soluciones de código abierto que imiten la funcionalidad, solo para fines de desarrollo. Ya me he encontrado con el proyecto Eucalyptus (http://open.eucalyptus.com) para crear una nube EC-esque.Emulando Amazon SQS durante el desarrollo

No he tenido ningún éxito con google, sospecho que es porque el costo de entrada es tan económico, pero aún así, ¿alguien sabe algo como esto?

Respuesta

27

Algunos de los SDK de Amazon tienen modo de "simulacro", que es:

El servicio maqueta es una forma alternativa utilizar el código de ejemplo. El servicio no llama a AWS, sino que devuelve una respuesta establecida que puede modificar a según sus necesidades (los archivos de respuesta XML están en el directorio Mock). El servicio simulado hace que sea fácil para usted probar cómo su aplicación maneja diferentes respuestas.

Para SQS, parece que los SDK de Perl y PHP tienen el modo de simulación. Sé que .NET SDK para Amazon RDS también tiene el modo simulado.

El SDK Java no contiene implementaciones simuladas:

El cliente implementaciones simuladas se han eliminado. En lugar de ello, los desarrolladores se les anima a utilizar las bibliotecas falso ofrecido más flexibles y completos, tales como EasyMock, jMock

Si el SDK que va a utilizar no tiene el modo de simulacro disponible, probablemente podría crear su propio tipo similar de cosas que devuelve las respuestas preconfiguradas en lugar de llegar al servicio.

See here para obtener más información

+0

Muchas gracias, ¡esto es ideal! –

+2

Por favor, vea mi respuesta a continuación con respecto a Java SDK. – tkotisis

3

Si se encuentra en .NET o Mono puede probar Stratosphere. Tiene implementaciones locales que imitan a SimpleDB, SQS y S3. Para la implementación simulada de SimpleDB usa SQLite, para SQS y S3 almacena mensajes/objetos en el sistema de archivos.

60

Para SQS Escribí ElasticMQ, que puede ejecutar incrustado (está escrito en Scala, por lo que se ejecuta en la JVM) o de forma independiente. Tiene modos tanto persistentes como en memoria, el primero es bueno para el desarrollo, el segundo para las pruebas.

+4

¡buen trabajo! Esto es exactamente lo que estaba buscando. –

+1

Utilizamos ElasticMQ localmente y en nuestras pruebas de unidad/integración y funciona perfectamente. Esta debería ser la respuesta seleccionada. – anataliocs

+1

Esta debería ser la respuesta seleccionada de hecho. – deadlock

9

En cuanto a la SDK de Java, esto ya no contienen implementaciones simuladas:

El cliente implementaciones simuladas se han eliminado. En lugar de ello, los desarrolladores se les anima a utilizar las bibliotecas falso ofrecido más flexibles y completos, como EasyMock, jMock

1

si es necesario para simular SNS, así como SQS se puede extraer: Yopa

Cuestiones relacionadas