2010-02-25 95 views
37

我對開始使用Amazon SQS開發某些開發很感興趣,也許是SimpleDB,我的問題是,是否有任何開源解決方案模仿功能,僅用於開發目的。我已經遇到了用於創建EC-esque雲的Eucalyptus項目(http://open.eucalyptus.com)。在開發過程中模擬Amazon SQS

我還沒有取得任何成功與谷歌,我懷疑這是因爲進入的成本是如此便宜,但仍然,有沒有人知道這樣的事情?

回答

27

一些亞馬遜的SDK的具有「模擬」模式,這是:

模擬服務是一種替代方法 使用樣本代碼。服務 不調用AWS,而是返回 您可以修改爲 的設置響應滿足您的需求(XML響應 文件位於Mock目錄中)。 模擬服務可以讓您輕鬆測試 測試您的應用程序如何處理 不同的響應。

對於SQS,看起來Perl和PHP SDK都有模擬模式。我知道Amazon RDS的.NET SDK也具有模擬模式。

的Java SDK中不包含mock實現:

客戶端mock實現已被刪除。相反,鼓勵開發 使用更靈活,功能齊全的模擬庫, 如EasyMockjMock

如果您將使用不具備模擬模式中提供的SDK,你很可能創建自己的類似的類型的東西,它返回預配置的響應,而不是實際上打開服務。

See here更多信息

+0

非常感謝,這是理想! – 2010-03-02 18:18:24

+2

請參閱下面關於Java SDK的回答。 – tkotisis 2012-11-14 09:39:23

3

如果您在.NET或單可以嘗試Stratosphere。它具有模擬SimpleDB,SQS和S3的本地實現。對於SimpleDB模擬實現,它使用SQLite,對於SQS和S3,它將消息/對象存儲在文件系統中。

60

對於SQS,我寫了ElasticMQ,您可以運行嵌入式(它是用Scala編寫的,因此可以在JVM上運行),也可以獨立運行。它具有持久性和內存模式,第一種適用於開發,第二種適用於測試。

+4

偉大的工作!這正是我所期待的。 – 2015-08-06 19:01:43

+1

我們在本地和我們的單元/集成測試中使用了ElasticMQ,並且它完美地工作。這應該是選定的答案。 – anataliocs 2017-02-17 22:42:07

+1

這應該是所選答案的確。 – deadlock 2017-05-03 23:14:37

9

關於Java的SDK,它不再包含mock實現:

客戶端mock實現已被刪除。相反,開發商 鼓勵使用更靈活,功能齊全的模擬庫, 如EasyMockjMock

1

,如果你需要模擬SNS以及SQS你可以檢查出:Yopa