web-dev-qa-db-fra.com

Émulation d'Amazon SQS pendant le développement

Je suis très intéressé à commencer un développement en utilisant Amazon SQS, peut-être aussi SimpleDB, ma question est la suivante, existe-t-il des solutions open source qui imitent la fonctionnalité, uniquement à des fins de développement. J'ai déjà rencontré le projet Eucalyptus ( http://open.eucalyptus.com ) pour créer un cloud EC-esque.

Je n'ai pas eu de succès avec Google, je suppose que c'est parce que le coût d'entrée est si bon marché, mais quand même, quelqu'un sait-il quelque chose comme ça?

51
Derek Mortimer

Certains des SDK Amazon ont un mode "simulé", qui est:

Le service simulé est une autre façon d'utiliser l'exemple de code. Le service n'appelle pas AWS, mais renvoie à la place une réponse définie que vous pouvez modifier selon vos besoins (les fichiers de réponses XML se trouvent dans le répertoire Mock). Le service simulé vous permet de tester facilement la manière dont votre application gère les différentes réponses.

Pour SQS, il semble que Perl et PHP ont un mode simulé. Je sais que le SDK .NET pour Amazon RDS a également le mode simulé.

Le SDK Java ne contient pas d'implémentations simulées:

Les implémentations de simulation de client ont été supprimées. Au lieu de cela, les développeurs sont encouragés à utiliser des bibliothèques de simulation plus flexibles et plus complètes, telles que EasyMock , jMock

Si le SDK que vous utiliserez n'a pas le mode simulé disponible, vous pouvez probablement créer votre propre type de chose similaire qui renvoie les réponses préconfigurées au lieu de réellement activer le service.

Voir ici pour plus d'informations

34
BigJoe714

Pour SQS, j'ai écrit ElasticMQ , que vous pouvez exécuter soit intégré (il est écrit en Scala, donc s'exécute sur la JVM) ou autonome. Il a des modes persistants et en mémoire, le premier étant bon pour le développement, le second pour les tests.

87
adamw

Concernant le SDK Java, il ne contient plus d'implémentations factices:

Les implémentations de simulation de client ont été supprimées. Au lieu de cela, les développeurs sont encouragés à utiliser des bibliothèques de simulation plus flexibles et plus complètes, telles que EasyMock , jMock

12
tkotisis

GoAws - https://github.com/p4tin/goaws - vient d'être publié en version bêta. (avis de non-responsabilité - je suis le développeur).

10
Paul A. Fortin

Si vous avez besoin d'un test double pour plus que SQS, vous pouvez essayer LocalStack .

Pour simuler SQS, il utilise en interne ElasticMQ mentionné par adamw.

Vous pouvez démarrer LocalStack via Docker, par exemple, et il démarrera les services suivants:

4
Mifeet

Si vous êtes en .NET ou Mono, vous pouvez essayer Stratosphere . Il a des implémentations locales qui imitent SimpleDB, SQS et S3. Pour l'implémentation simulée de SimpleDB, il utilise SQLite, pour SQS et S3, il stocke les messages/objets dans le système de fichiers.

3
Peter Hizalev

si vous avez besoin de simuler SNS ainsi que SQS, vous pouvez vérifier: Yopa

1
Paul A. Fortin