J'évalue Terracotta pour m'aider à faire évoluer une application qui est actuellement limitée par la RAM. Il s'agit d'un filtre collaboratif qui stocke environ 2 kilo-octets de données par utilisateur. Je veux utiliser l'EC2 d'Amazon, ce qui signifie que je suis limité à 14 Go de RAM, ce qui me donne une limite supérieure par serveur d'environ 7 millions d'utilisateurs. Je dois être capable d'évoluer au-delà de ça. D'après ma lecture jusqu'à présent, je pense que Terracotta peut avoir un tas groupé plus grand que la RAM disponible sur chaque serveur. Serait-il viable d'avoir un tas groupé efficace de 30 Go ou plus, où chacun des serveurs ne supporte que 14 Go?Puis-je utiliser Terracotta pour mettre à l'échelle une application gourmande en RAM?
Les données par utilisateur (dont la majeure partie sont des tableaux de flottants) changent très fréquemment, potentiellement des centaines de milliers de fois par minute. Il n'est pas nécessaire que chacun de ces changements soit synchronisé avec les autres nœuds du cluster au moment où ils se produisent. Est-il possible de synchroniser uniquement certains champs d'objet périodiquement?
Un cluster redis fragmenté pourrait être une approche plus simple, cela aurait-il pu fonctionner dans ce scénario? – cobbzilla