Vous ne devriez pas vous fier à ce fait de toute façon. Vous devez avoir le couche d'abstraction droite (par exemple, la communication par IP est un bon point de départ). Ceci est en partie nécessaire pour permettre "mises à jour en cours de service" c'est-à-dire l'ajout de machines plus récentes qui peuvent ou non avoir la même architecture que la configuration de départ du cluster.
Imaginez que vous allez voir votre patron : "Eh bien, nous devons réduire tout le service parce que nous avons ces nouvelles machines sophistiquées..." . ( et je peux entendre la réponse haut et fort )
Bien sûr, si les préoccupations d'un environnement de production sont hors de portée dans votre cas spécifique, vous pouvez ignorer ma citation. Disons simplement que ce serait une exigence typique pour tout grand déploiement.
Enfin, il est toujours plus facile de s'occuper d'un cluster symétrique (la maintenance est simplifiée) mais, là encore, un cluster asymétrique peut être un "tremplin" lors d'une "mise à niveau progressive".
Clarification : Je n'ai jamais fait allusion à en faisant abstraction de tout . Clarification #2 : par "architecture", j'entends "architecture du processeur", et non "architecture du système global".
Quant à la deuxième partie de votre question : tout dépend de l'architecture de votre logiciel.