/ / Comment gérer le crash de la machine virtuelle lors de l’utilisation du partage de cluster AKKA - akka, sharding

Comment faire face au crash de la JVM lors de l'utilisation du cluster sharding AKKA - akka, sharding

Je pratique la fonction de fragmentation de groupe Akka. J'ai démarré plusieurs entités sur 3 nœuds en utilisant la fonction sharding. Mais je ne sais pas comment les entités pourraient être récupérées dans d’autres nœuds quand un nœud est écrasé.

Quelqu'un peut-il m'aider à comprendre comment je pourrais le faire?

Réponses:

0 pour la réponse № 1

La fonctionnalité de partage est l’un des plusfonctionnalités puissantes que j'ai jamais vues dans des projets open source. J'utilise le sharding avec la version 2.3.12 d'akka avec succès depuis 2 ou 3 ans. En règle générale, il est souhaitable d’avoir environ 10 fragments par nœud, mais mon déploiement utilise 5 nœuds et j’ai 20 fragments par nœud et fonctionne parfaitement.

Il faut comprendre que le sharding est seulement unlogique de routage qui vous donne la transparence de la localisation d'un acteur géré par la fonctionnalité de fragmentation est réellement instancié (quel nœud et quel fragment).

Maintenant en ce qui concerne la récupération de l'acteur: Si votre acteur a l'état accumulé par les commandes envoyées, cela est important pour votre entreprise. Cela signifie que vous devez conserver les commandes reçues et pouvoir récupérer (CQRS & Event Sourcing) d'une persistance disponible pour tous les nœuds. Pour cela, l'akka fournit http://doc.akka.io/docs/akka/2.4.16/java/persistence.html capacités, cette documentation est très bienstructuré et vous donne suffisamment d’informations sur la manière dont cette récupération peut être réalisée. En tant que source de persistance, j’ai utilisé la persistance akka avec le plugin C * - détails sur https://github.com/akka/akka-persistence-cassandra