Ces derniers temps, ça a été plutôt chaotique sur TTM. J'ai eu beaucoup de problème avec la stabilité du moteur.
Sans entrer trop dans les problèmes techniques, je vais essayer de vous expliquer les enjeux.
La version précédente était basée sur un moteur synchrone.
Je lançait le moteur tous les jours et ce dernier accomplissait ses taches au moment ou il devait les faire.
Ce système a deux défauts.
- Le premier est que le moteur était dépendant de moi et que si pour une raison ou une autre je ne pouvais pas être devant un ordinateur alors il n'y avait pas de match.
- Le deuxième problème est un problème de charge. Avec la multiplication des joueurs, il y avait de plus en plus de matchs et donc de plus en plus de calculs et de requêtes exécuté par le même script. Et il arrivait de plus en plus souvent que le serveur craque.
Aujourd'hui, je travaille a une version asynchrone.
L’idée est qu'une fois par semaine je lance le moteur qui va s'occuper de lister les actions qu'il doit réaliser dans la semaine et les ranger dans une pile. Ensuite chaque internaute qui se connecte au serveur commence par prendre une ou deux actions dans la pile, les exécute, et continue le script normalement. Grace a cela:
1/ Je dois lancer le moteur une fois par semaine.
2/ La charge est répartie sur l'ensemble des scripts générés par les internautes (vous !). A moi de faire en sorte qu'elle soit la plus légère possible afin que vous ne la sentiez pas.
Le problème essentiel est : que se passe-t-il si deux internautes récupèrent la même action exactement au même moment ?
Le moteur de mini-tournoi fonctionne déjà en mode asynchrone. Jusqu’à maintenant vous étiez assez peu nombreux a vous connecter régulièrement sur TTM et donc il y avait très peu de conflit dans le dans le moteur. Dernièrement, vous êtes de plus en plus nombreux a venir ce qui multiplie les conflits. Et c'est une très bonne chose ! Grace a cela, j'ai pu me rendre compte rapidement de toutes les sources de conflits et de les gérer. Cela fait une semaine que j'analyse, répare, cloisonne le déroulement des actions et je pense aujourd'hui avoir rendu le moteur beaucoup plus stable.
Vous pouvez maintenant m'aider. Pour cela, il faut que vous continuiez a faire ce que vous faites depuis maintenant quelques temps, C'est a dire générer le maximum de mini-tournois (particulièrement les par équipes) et me signaler les divers bugs rencontrés. Je vous remercie d'avance pour votre aide.
Je vais encore faire quelques tests et je finirais le moteur officiel. J’espère être prêt dans les jours qui viennent ce qui me permettrai de commencer les tests annoncés. Je sais que beaucoup d'entre vous les attendent avec impatience.
je vais commencer par lancer un seul tournoi (je n'ai pas encore décidé lequel), puis un seul évènement (Shanghai) et enfin toute une saison.
J’espère que ce message vous aura aidé a mieux comprendre ce que fais en ce moment.
Je vous remercie de votre patience.
Galaan