Quels sont les avantages et les inconvénients du assembly de vos binarys d'application à partir d'un support partagé?

Dans un cluster de nœuds d'applications, quels sont les avantages / inconvénients de placer les files binarys de votre application sur un support partagé et avoir chacun des nœuds montés, plutôt que d'avoir des copys distinctes des binarys sur chaque nœud?

Y at-il quelque chose qui rend une approche ou l'autre particulièrement mauvais?

Merci

One Solution collect form web for “Quels sont les avantages et les inconvénients du assembly de vos binarys d'application à partir d'un support partagé?”

Lorsque j'ai commencé dans le secteur financier, j'étais en train d'exécuter des systèmes qui comprenaient des systèmes de passerelle qui ont consommé / massé des données, calculé des nœuds pour prendre des décisions commerciales, des servers NFS pour servir des applications / centraliser l'logging et beaucoup de réseau pour lier tout cela. Nous avons également centralisé les configurations crontab crontab et de contrôle d'application et placé ceux sur les assemblys NFS.

Ceci était basé sur NFSv3, et les bénéfices étaient …

  • Dissortingbution facile des applications: une monture. Un endroit pour faire des changements.
  • Gestion simple des données liées à ces applications.

Les inconvénients:

  • Sensible aux erreurs: une monture. Un endroit pour défaire les changements.
  • Échelonnement: à less que vous ne gérez également votre stockage, le support central aura une limite supérieure sur le nombre de clients pouvant servir efficacement.
  • Point unique d'échec (SPOF): Encore une fois, le stockage en cluster peut atténuer cela, mais c'est une considération. En supposant NFS, que se passe-t-il si vous devez redémarrer le server? Les nœuds de cluster restront bloqués si le server NFS est manquant ou indisponible?
  • Autorisations: comment allez-vous gérer les permissions entre les nœuds du cluster. Les counts de service local? Faire correspondre les UID / GID? Dans mon cas, j'ai utilisé NIS et plus tard, LDAP. Un service d'annuaire serait utile ici.
  • Performance: vous dépendez du networking et de l'infrastructure de commutation ici. Des performances telles que le chargement d'une application, l'logging, etc. seront plus rapides sur le disque local que sur le fil.
  • Tuning NFS est difficile, et la plupart des gens ne le font pas bien 🙂

De nos jours, vous pouvez déployer et gérer votre logiciel via un système de gestion de configuration ( Puppet , Chef , Ansible , etc. ). Ou mieux encore, utilisez la méthode d'emballage natif du operating system (RPM, .deb) et déployez-le avec la gestion de la configuration:

  • Cela supprime le SPOF.
  • La localization de l'application devrait bénéficier d'une performance.
  • Simplifie le networking: par exemple, si vous vous développez dans plusieurs locations?
  • Peut fournir un contrôle plus granulaire: par exemple, dissortingbuer un binary à un sous-set de systèmes, par rapport à l'set du cluster.
  • Auto-documentaire.

Compte tenu de cela, je reorderais probablement des copys distinctes des applications au lieu d'utiliser un support partagé.

  • Le sous-directory de assembly avec mount.cifs donne l'autorisation refusée, mais gvfs fonctionne
  • Ecrire à Windows partager monté dans Ubuntu
  • Montant permanent / umount sur chaque exécution
  • Montez un file tar - pas possible?
  • Puis-je monter un système de files ext3 sur linux afin que les files de la monture appartiennent à un user?
  • RHEL 6, assembly de stockage réseau au démarrage
  • Le assembly GlusterFS maintient la déconnection random
  • Mount Remote CIFS / SMB Partagez comme un dossier pas une lettre de lecteur
  • Impossible de monter un raid 18TB 6
  • Pourquoi hsqldb est le propriétaire de mon directory?
  • Umount Appareil ou ressource occupée; déjà essayé: mount, lsof, fuser, exportfs, ps axf
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.