2010-12-21 2 views
1

Je voudrais créer un système de taux-limter qui peut limiter les demandes à plusieurs serveurs. Pour cela, je voudrais créer des compteurs (1 compteur pour chaque adresse ip ) de cette façon tous les serveurs peuvent vérifier et mettre à jour ces compteurs.Avec Hazelcast qu'est-ce qui est mieux, une grosse carte ou plusieurs petites cartes?

Ma question: quelle est la meilleure approche, créer une carte et utiliser l'adresse IP du client comme la clé et les compteurs pour cette ip serait dans un java object.that objet serait la valeur de la entrée de carte.

ou

créer une carte pour chaque adresse IP et d'utiliser le nom du compteur comme valeur de clé et compteur comme la valeur de l'entrée (int)

ma priorité est la vitesse. récupérer l'objet compteur et en incrémentant cela doit être fait très rapidement.

alors quoi de neuf? beaucoup de petites cartes ou une grande carte?

J'espère que quelqu'un peut m'aider avec ceci.

salutations,

Maarten

Répondre

0

Les compteurs limitant la vitesse sont susceptibles d'être l'un des objets les plus controversés du système. Je ne sais pas si les cartes Hazelcast vont bien fonctionner. Vous pouvez jeter un oeil à l'interface AtomicNumber dans Hazelcast 1.9, mais je ne sais pas si vous pouvez créer arbitrairement beaucoup de ces objets (ou même si vous pouvez les jeter une fois créés). Votre meilleur pari pourrait être d'utiliser HAProxy ou un équilibreur de charge similaire pour implémenter vos règles de limitation devant vos serveurs d'applications.

Questions connexes