Magazine Internet

Les casinos en ligne : Comment ca marche ?

Publié le 18 octobre 2010 par Avi Teboul

jeux en ligneOn voie aujourd'hui des centaine de site de jeu fleurir sur le Web que ce soit pour des casinos en ligne avec différents jeux comme la roulette ou le Black Jack, des sites dédié uniquement au poker ou encore ces casino sans depot... Tous ces sites cherchent a acquérir un maximum de clients qui vont jouer et rejouer en ligne.

Ma dernière expérience professionnel étant directement lié au monde du jeu en ligne, j'ai eu envie de vous faire un retour sur le développement technique d'un tel site.

L'univers dans lequel j'ai travaillé n'était aucunement lié a ces casinos mais en dehors du thème abordé il me semble que ca reste du jeux en ligne.

1 - La base de données

C'est un peu le centre de l'application. Ce genre de base de données doit être capable d'être lue et  alimentée en grandes pompes. Les site de jeux en ligne proposent souvent des campagnes publicitaire très agressive et en retour ils doivent être capable de gérer des inscription en base de données massive.
Certes un INSERT en SQL ne consomme pas énormément de ressource et ne bloque quasiment pas la table , en revanche un UPDATE ( qui effectue une requête de SELECT avant de pouvoir éditer le(s) champs concernant est beaucoup plus gourmand.
Imaginez 5 000 utilisateurs en peine partie de Poker qui augmentent leur solde de points. Il est facile de se laisser tenter par des UPDATE en masse pour éditer le solde a la fin de chaque parties mais l'accès a la table concernée va vite être saturé.
Quelque proposition:
- Mysql Cluster 7 qui charge tout en RAM vous permettra un gain de réactivité de la BDD mais cela ne veux pas dire qu'on puisse travailler comme des cochons !
- Les Logs, cela consiste a ne faire que des INSERT des points acquis ( 1 + 1 + 1 + 1 + 1 ) et traité la somme via un script ( CRON) qui se chargera d'en faire le total et de mettre a jour le solde, pour afficher le solde réel mettrez a jour un variable de SESSION qui sera plus rapide d'accès.
Cela ne reste que des idées a travailler , développer et adapter en fonction des besoin.

2 - Technologies de développement

Il est évident que des projet aussi gros doivent être dirigés en POO ( PHP 5 ) pour gagner en flexibilité et en maintenance.
Certaines technologie tel que le XSLT par exemple sont très lourdes.
La technique qui consiste a sortir les données de la BDD pour les stocker en XML afin de travailler sur Fichier est  selon moi une aberration puisque sur de la masse on se retrouve avec des million de fichiers XML a pointer et lire et ont perd donc tout intérêt.
Je pense que les système des cache sont ce qu'il y a de plus judicieux.
Pour ma part, j'ai favorisé la technique qui consiste a monter un objet qui contient toutes les information d'une SESSION utilisateur et charge donc en 1 seule requête les données nécessaire à la navigation.
5 000 requêtes par minute reste pour un Cluster 7  largement gérable.

3 - Architecture serveur

Là j'entre dans un sujet que je ne connais pas assez bien, mais l'expérience que j'ai vécu m'impose de vous avertir contre:
-  les systèmes de réplication mal géré,
- Les montage de machines virtuelles qui ont délais de synchronisation parfois aberrant ( de 5 a 15 sec !).
Je vous conseille de vous tourner vers un administrateur réseau compétant qui saura en fonction de vos besoin choisir la bonne architecture.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Avi Teboul 600 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog