Load Balancing

Important

Depuis la version 5.0, les diffusions ne sont pas déportées sur les serveurs secondaires. Elles sont exécutées par le serveur principal.

Une correction est en cours de développement pour que les diffusions soient à nouveau exécutées par les serveurs secondaires.

Le Load Balancing permet de déporter des tâches de MyReport Server sur d'autres MyReport Server installés sur d'autres machines.

Les traitements déportés aux serveurs secondaires sont :

  • ETL

  • Diffusion

  • Programmation

  • Exécutions Reports

Les serveurs secondaires sont capables de gérer toutes les demandes du serveur principal. Ils ne sont pas spécialisés.

Les produits clients (MyReport Data, Builder, Administrator, Messenger) ne se connectent qu'au serveur principal.

Les serveurs secondaires doivent avoir accès directement aux bases de données, aux sources cloud et aux fichier réseaux.

L'accès au MySystem par les serveurs secondaires se fait au travers du serveur principal, ils n'ont donc pas besoin d'y accéder directement.

L’ajout ou l’arrêt de serveurs secondaires peuvent se faire sans redémarrage du serveur principal. Cependant il est obligatoire de redémarrer le service du serveur principal pour que les serveur secondaires ajoutés soient pris en compte.

  • Pour que les serveur secondaires soient référencés par le serveur principal, ils doivent être démarrés avant le démarrage du service du serveur principal.
  • Si le service du serveur principal s'arrête suite à une erreur, les services des serveurs secondaires doivent être redémarrés avant de redémarrer le service du serveur principal

L'ensemble des traitements effectués par le parc de serveurs est visible via MyReport Administrator en se connectant au serveur Principal. MyReport Administrator peut également se connecter à chaque serveur secondaire pour suivre leurs activités respectives.

Lors de l'envoi d'une demande de traitement au serveur principal, il choisit le serveur secondaire qui a la meilleure proportion entre la mémoire disponible et le processeur disponible.

Table 1.6. Répartition des différents rôles du serveur lors de la mise en place du load-balancing

Gestion des licences

Serveur principal

Répartition de charge (dispatcheur)

Serveur principal

Gestion du projet (et des utilisateurs)

Serveur principal

Traitement : calcul des reports

Serveur secondaire

Traitement : ETL

Serveur secondaire

Traitement : Diffusions

Serveur secondaire

Traitements : Programmations

Serveur secondaire


Figure 1.4. Schéma de fonctionnement dans le cadre du load balancing

Schéma de fonctionnement dans le cadre du load balancing

Comment configurer MyReport pour mettre en place le load balancing

  1. Installez MyReport BE sur le serveur principal (a minima MyReport Administrator et MyReport Server) et les serveurs secondaires (a minima MyReport Server).
  2. Dans la console d'administration de MyReport Serveur, ajoutez les serveurs secondaires. Ils peuvent être référencés via leur nom ou via leur IP.
  3. Attention : le serveur secondaire communique toujours avec le serveur principal via son nom (DNS).

Quel serveur réalise les traitements ?

Les traitements sont réalisés par les serveurs secondaires.

Dans le cas d'une diffusion réseau (exploitant le dossier "MyDirectory" défini dans le projet), le fichier sera calculé par le serveur secondaire puis envoyé au serveur principal qui le recopiera dans le dossier adéquat.

Comment le dispatcheur sélectionne le serveur secondaire qui exécute le traitement ?

Lorsqu'un traitement est demandé au serveur principal, ce dernier interroge les serveurs secondaires afin d'obtenir pour chacun d'eux la mémoire et le pourcentage de processeur disponible. Le traitement est alors délégué à celui qui présente le meilleur ratio "Mémoire disponible * % CPU disponible".

Table 1.7. Exemple

Serveur

Mémoire disponible

% Processeur disponible

Ratio

Serveur secondaire #1

4 Go

80%

3.2

Serveur secondaire #2

8 Go

60%

4.8

Serveur secondaire #3

16 Go

12.5%

2


Dans le cas précédent, le traitement sera délégué au "Serveur secondaire # 2".

Comment fonctionne la parallélisation des traitements lorsque le load-balancing de MyReport est mis en place ?

Le fonctionnement général de MyReport Server s'applique aussi lorsque plusieurs serveurs secondaires sont paramétrés  :

  • Les programmations, ETLs et diffusions sont traités séquentiellement
  • Les exécutions de report sont traitées en parallèle

Chacun de ces éléments sera traité par le serveur secondaire ayant le plus de ressources disponibles.

Comment sont gérés les logs d'erreur remontés par le serveur ?

Les logs d'erreurs seront renseignés sur la machine qui exécute le traitement

Quel "compte utilisateur" est utilisé pour se connecter aux ressources réseau (fichiers source des modèles et des diffusions) ?

Le fonctionnement est identique à celui d'une installation "mono-serveur" : MyReport Server utilise le compte défini pour la délégation d'identité ou le compte utilisé pour démarrer le service.

Il est donc préconisé de renseigner dans le projet le "réseau local" afin de garantir un accès aux ressources réseau quel que soit le serveur secondaire utilisé pour le traitement.

ghostghostghostghostghost
loading table of contents...