INTERVIEW 
 
Raphael Condamin
Directeur technique
Prizee
Raphael Condamin
"Notre base de données traite beaucoup de requêtes de petite taille"
Avec 500 000 personnes connectées en moyenne par jour, le site de jeux en ligne sollicite fortement sa base de données MySQL. La direction technique a donc mis au point son propre système de session, autour d'une architecture pyramidale.
10/10/2006
 
JDN Solutions. Quel est le positionnement de Prizee.com ?
  En savoir plus
Dossier Réaliser, maintenir et faire évoluer ses sites Web pro
  Le site
Prizee.com
Raphael Condamin. Il s'agit d'une plate-forme de jeux sur Internet. Nous proposons des jeux gratuits qui donnent la possibilité de gagner de la monnaie virtuelle susceptible d'être échangée contre des cadeaux.

Notre objectif consiste à attirer une communauté importante de joueurs sur notre offre gratuite, limitée à une partie. Ensuite, si l'internaute souhaite jouer plus, il peut obtenir des jetons payants.

Comment se passe la sécurisation de la transaction de l'internaute ?
Au niveau de la partie paiement, nous fonctionnons avec différents systèmes : le téléphone avec RentabiliWeb, la carte bancaire avec FIA-Net, le SMS avec MobileTrend et le micro-paiement avec Internet+. Nous avons par ailleurs établi notre propre système de vérification, en demandant des justificatifs à l'internaute avant de lui fournir ses accès au site en fonction d'un calcul de risque.

Travaillez-vous en marque blanche avec des partenaires ?
Nous fournissons le portail AOL jeux et, dans l'avenir, il n'est pas exclu de travailler avec d'autres partenaires. Ce serait très intéressant mais aujourd'hui, Prizee.com remporte déjà un franc succès sur son propre site qui représente la majorité des connexions à notre base de données. Actuellement, nous enregistrons 11 millions d'inscrits, principalement sur la France. L'internationalisation du site a d'ailleurs commencé.

La base de données de Prizee.com est extrêmement sollicitée. Quelles sont les contraintes techniques qui en résultent ?
Le nombre de personnes connectées chaque jour varie entre 400 000 et 600 000 selon les périodes de l'année. Notre spécificité vient des requêtes soumises à la base de données.

C'est une très grosse base de données mais qui ne fonctionne pas avec des traitements lourds, nous n'avons que rarement besoin d'une quantité importante de données ou d'une requête avec plusieurs jointures. Au contraire, il va s'agir plutôt d'une petite requête sur une ligne de la base.

50% des requêtes sont des demandes de mises à jour"
Par contre, pendant que le joueur s'amuse, il s'échange beaucoup d'informations avec la base de données MySQL. Autre spécificité, près de 50% des requêtes sont des demandes de mises à jour. Pour donner quelques chiffres, 15 serveurs travaillent uniquement sur le traitement de l'ensemble des requêtes SQL.

Avez-vous pris des mesures pour éviter l'explosion du nombre de serveurs de base de données ?
Réduire le nombre de serveurs sera difficile car notre objectif consiste à faire monter l'audience. Par contre, nous cherchons à améliorer la technologie et la structure de la base de manière à maintenir ce nombre de serveurs, tout en les faisant évoluer.

Première de ces mesures : nous essayons de faire remonter un maximum d'informations de la base vers les frontaux. Nous avons développé pour cela notre propre système de session qui permet d'accéder à des données sans toucher à la base. Nous stockons des informations générales, comme le jackpot du jour, sur l'ensemble des frontaux à chaque appel de page. Ces informations sont mises à jour 10 fois par seconde environ sur les serveurs Apache.

Le rafraîchissement des données de session ne pose-t-il pas problème ?
Non, pas dans cette configuration d'architecture en pyramide. Nous disposons d'une centaine de serveurs frontaux qui communiquent avec un serveur central chargé uniquement d'envoyer les données de session 10 fois par seconde par serveur frontal. Cela diminue fortement le nombre de requêtes par rapport à un système de génération automatique de requêtes sans intermédiaire.

Par contre, ce fonctionnement nous apporte plusieurs avantages. Si un serveur Apache tombe, nous pouvons aller chercher les données sur un autre serveur, contrairement à un système de session PHP / Apache classique. D'autre part, le serveur global ne gère pas le suivi des sessions, il n'a que très peu de données à envoyer aux autres serveurs. Aujourd'hui, nous essayons de faire en sorte qu'un serveur frontal puisse avoir un maximum d'informations sans aller chercher dans la base MySQL, car la lecture pourrait être un goulet d'étranglement.

Le serveur central est-il un point critique de cette architecture ? Comment l'avez-vous fiabilisé ?
L'objectif à moyen terme est de s'équiper d'un système de répartition de charge automatique"
En fait, ces traitements ne représentent pas nécessairement une grosse charge pour lui. Il fait beaucoup de traitements par contre. C'est un relai chargé de stocker une petite base de données MySQL concernant l'état du site. Le serveur global est relié aux serveurs frontaux qui dialoguent ensuite avec les bases MySQL pour l'information qu'on ne stockera pas en session.

Aujourd'hui, nous disposons d'un système de restauration en cas de panne. L'objectif à moyen terme est de s'équiper d'un système de répartition de charge de manière à basculer d'un serveur sur l'autre automatiquement lors d'un incident d'exploitation. Aujourd'hui, ce sont des tâches réalisées manuellement.

Prizee.com utilise une centaine de serveurs frontaux. Pourquoi autant de machines ?
Cela s'explique par notre communauté. En instantané, nous pouvons monter jusqu'à 30 000 joueurs connectés, les requêtes sont donc très importantes et les changements de pages réguliers. En débit, on va monter de 400 Mbits à 1,5 Gbit.

Transférer une partie de vos calculs sur le poste client pourrait-il être envisageable ?
  En savoir plus
Dossier Réaliser, maintenir et faire évoluer ses sites Web pro
  Le site
Prizee.com
Oui, mais nous ne souhaitons pas le généraliser pour une question de confort de l'utilisateur. Au contraire, le client doit avoir un accès rapide et une navigation simple, quitte à assumer nous même la charge.

Nous travaillons toutefois sur la technologie Flash pour effectuer un certain nombre de calculs coté client. D'autre part, la configuration des jeux est faite par la machine de l'internaute.

La DT de Prizee.com
 La direction technique
Effectif
40 personnes
 Les solutions technologiques 
Bases de données
MySQL
Langage de développement
PHP, Flash
Système d'exploitation
Linux Red Hat
Serveur Web
Apache
Hébergement
OVH
 
Propos recueillis par Yves DROTHIER, JDN Solutions

PARCOURS
 
 
Raphael Condamin est directeur technique chez Prizee.com. Il est entré dans la société en 2003 en tant que développeur.

Et aussi Diplômé d'un DESS systèmes d'information avancés de l'Université Jean Moulin (Lyon 3).

   
 
  Nouvelles offres d'emploi   sur Emploi Center
Auralog - Tellmemore | Publicis Modem | L'Internaute / Journal du Net / Copainsdavant | Isobar | MEDIASTAY
 
 
 


Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Toutes nos newsletters