Question

J'ai une application (un service de conférence IP) que je dois mettre à l'échelle. Il a pas mal de composants / applications indépendants, écrits dans différents langages (principalement C ++ et PHP, certains Perl). Actuellement, une seule installation fonctionne sur 5 machines, avec 1 à 2 composants partageant un seul boîtier. La configuration de chaque boîte est donc différente, il est donc difficile de tout redimensionner, sans parler de la maintenance.

Les composants individuels varient d’un proxy de média à un proxy de message et à une base de données, le chargement est donc complet, à l’inverse même.

Je pensais mettre tous les composants sur une seule machine et ajouter d’autres cases au fur et à mesure que je suivais une sorte d’équilibreur de charge. D’autres me conseillaient de changer d’échelle - d’ajouter des boîtes spécialisées où la charge de l’application devenait importante - mais cela nous ramène au cauchemar de l’entretien.

Connaissez-vous les ressources par lesquelles je devrais commencer? Idéalement, j'aurais besoin de points de repère pour déterminer quelle approche est la plus performante? (en pensant à voix haute, quand j’ai X charge et Y quantité de mémoire et de puissance de traitement, quelle que soit l’importance de la façon dont je l’alloue?)

Était-ce utile?

La solution

J'irais pour la virtualisation. De cette façon, vous pouvez avoir diverses machines de configuration similaires et répartir la charge entre elles, même si vous conservez des modules dans des ordinateurs virtuels distincts.

Autres conseils

Vous devez déterminer où sera la charge la plus élevée ou le goulot de la bouteille sans lequel il sera difficile de planifier correctement.

Je voudrais ensuite examiner la virtualisation. Cela rend votre application: Rapide à déployer Facile à sauvegarder En cas d’échec, restauration rapide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top