2011-11-02 3 views
1

Je pense utiliser amazon Simpledb comme une file d'attente pour enlever un peu de charge de mes services web. Les demandes sont plus grandes que 64k et j'ai besoin de fifo donc je ne peux pas utiliser SQS. Je me demande quelles sont les limites concurrentes sur simpledb. puis-je avoir 10 000 clients insérant tous une nouvelle ligne à peu près en même temps?Amazon SimpleDB à l'échelle

toute aide serait grande

Répondre

0

Vous aurez probablement des problèmes avec SimpleDB en raison de sa « cohérence éventuelle » sur les écritures. Cela signifie que lorsque vous écrivez des données, il n'est pas garanti qu'elles soient renvoyées dans une requête effectuée immédiatement après. J'ai entendu dire que vous êtes en sécurité après quelques secondes, mais vous devez coder le système pour en tenir compte.

Ceci a été légèrement atténué avec l'introduction des options conditionnelles, ce qui garantit qu'il n'y a pas de mises à jour perdues s'il y a des écritures simultanées. Le modèle de cohérence éventuel peut compliquer le codage de choses simples telles que les compteurs et les files d'attente.

Here est un exemple de compteur incrémentiel implanté dans Java à l'aide du kit AWS SDK. Remarquez dans la méthode nextValue:

while (!done) { 

Les clients retry essentiellement jusqu'à leur vente est proprement traitée. Ce n'est pas évolutif!

+0

Merci pour l'info. Je pense que je vais cuisiner autre chose en utilisant s3 et un travailleur qui utilise le manifeste pour remplir msmq sur le serveur. D'après ce que j'ai lu il n'y a pas de limites sur la quantité d'écritures d'objets s3 simultanées. – Quotient

+0

Ils avaient l'habitude de payer pour les puts simpledb et obtient (met 10x plus cher) donc c'était aussi une considération, mais ceux-ci ont disparu de leur prix donc je suppose qu'ils les ont abandonnés. Chaque fois que j'ai commencé à regarder simpledb, j'ai fini par utiliser s3 comme un magasin de clé/valeur et soit en sélectionnant intelligemment les touches, soit en les indexant localement. – Tim

+0

Notez également que s3 vous permet d'interroger des compartiments avec un préfixe. Cela peut être génial de rechercher des dates en utilisant un préfixe:/aaaa/mm/jj/... – Tim

Questions connexes