1

我們需要在不同的web服務器之間同步數據。這個想法非常基礎:當一個實體在一臺服務器上創建時,它應該發送到所有其他服務器。什麼是正確的做法?我們目前正在評估2種方法:amazon的sqs和sns服務以及一些鍵值數據庫(如memcached和memqueue)的自定義實現。自定義實現常見的缺陷是什麼?任何反饋將不勝感激。Amazon sqs vs自定義實現

回答

2

如果您爲每個服務器創建一個新隊列並將數據寫入每個隊列,SQS將會正常工作。最大的缺點是您需要每臺服務器輪詢新消息。

SNS會更高效地工作,因爲它允許您將消息廣播到多個位置。然而,這是一次嘗試;如果在SNS發送時機器無法收到通知,SNS將不會再試。

您不指定發送多少條消息或您的性能要求,但任何SQS/SNS系統可能會慢得多(主要是由於發送消息和接收消息的服務器之間的延遲)然後是本地memcache /鍵值服務器解決方案。

混合的解決方案是使用持久性存儲(如SimpleDB)並使用SNS來提醒服務器新數據可用。