Je vois souvent des files d'attente dans l'architecture logicielle, en particulier celles dites "évolutives" avec un représentant éminent de la plateforme multi-acteurs Actor from Akka.io. Cependant, comment la file d'attente peut-elle être évolutive, si nous devons synchroniser le placement des messages dans la file d'attente (et donc opérer dans un thread unique vs multi thread) et synchroniser à nouveau les messages de la file d'attente? Cela devient encore plus compliqué, lorsque ces messages peuvent changer l'état du système (acteur) - dans ce cas, même après avoir retiré le message de la file d'attente, il ne peut pas être équilibré, mais traité dans un seul thread.Comment la file d'attente (de messagerie) peut-elle être évolutive?
- Est-il correct que la mise en file d'attente des messages doit être synchronisée?
- Est-il exact que la mise en file d'attente des messages doit être synchronisée?
- Si 1 ou 2 est correct, alors comment la file d'attente est-elle évolutive? La synchronisation avec un seul thread ne crée-t-elle pas immédiatement un goulot d'étranglement?
- Comment le système (acteur) peut-il être évolutif, s'il est statefull?
- Est-ce que l'acteur/bean statefull signifie que je dois traiter les messages dans un seul thread et dans l'ordre?
- Est-ce que statefullness signifie que je dois avoir une copie de bean/acteur par système entier?
- Si 6 est faux, alors comment partager cet état entre les instances?
- Lorsque j'essaie de connecter mon nouveau noeud P2P à netowrk, je crois que je dois avoir un "serveur" qui me dira, qui sont les autres pairs, est-ce correct? Quand j'essaie de télécharger un torrent, je dois me connecter au tracker - s'il y a un "serveur" alors on l'appelle "P2P"? Si ce tracker va tomber, je ne peux pas me connecter aux pairs, n'est-ce pas?
- La synchronisation et l'étatabilité détruisent-ils l'évolutivité?
Certaines de ces questions sont vaguement liées au mieux, vous devriez les poser séparément. – the8472