Augmentation des capacités serveur

Les annonces officielles Board Game Arena
User avatar
sourisdudesert
Administrateur
Posts: 4630
Joined: 23 January 2010, 22:02

Augmentation des capacités serveur

Post by sourisdudesert »

Hier, nous avons procédé à une importante augmentation des capacités serveurs de Board Game Arena.

Auparavant, le service tenait à peu près la route jusqu'à ~1100 joueurs jouant simultanément, mais au delà il commençait à y avoir des ralentissements, avec trop d'erreur du type "BGA mainsite does not respond" ou "Mise à jour serveur en cours" ou encore "Error with notification service".

Pour ceux qui sont intéressés par les coulisses du service, voici quelques explications détaillées sur "pourquoi on a mis si longtemps à réagir", ce qui nous avons fait et pourquoi c'était pas simple.

Plus de serveurs = plus de capacité ?

BGA est assez différent de la plupart des sites web, car il est quasiment entièrement basé sur le "temps réel" : vous n'avez pas besoin de rafraîchir votre navigateur pour voir que quelqu'un a créé une table, ou que votre adversaire a joué.

L'architecture que nous avons mise en place pour faire cela est plus complexe que celle d'un site web "standard". Très schématiquement, pour un site "standard", lorsque vous voulez augmenter la capacité du site, vous rajoutez des serveurs supplémentaires. Plus de serveurs = plus de capacité. Ca parait simple et direct.

Le serveur temps réel

C'est vrai en partie pour BGA - et nous ajoutons régulièrement des nouveaux serveurs - mais en partie seulement. En particulier, ce n'est pas du tout le cas pour le serveur "temps réel", celui qui vous permet de recevoir les coups en temps réel. C'est le fameux "notification service" qui envoie des vilains messages d'erreurs rouges quand il n'est pas content (ou surchargé, plus probablement).

Et donc, pourquoi ne peut-t on pas tout simplement ajouter "plus de serveurs temps réel" ?

Tout simplement parce que tout le monde doit être connecté au même serveur temps réel. Sinon, quand vous jouez un coup, votre adversaire n'en sera pas averti si il est connecté à un serveur différent. C'est pourquoi nous utilisons une technologie spéciale (NodeJs) qui permet à beaucoup beaucoup de joueurs d'être connectés sur le même serveur, et que ça tienne quand même la route. Et c'est comme ça que ça fonctionne depuis le début de BGA.

Il y a quelques semaines, BGA a gagné en audience, et le serveur temps réel n'était plus en capacité de digérer tout cela à l'heure de pointe. Cependant, le serveur que nous utilisions était déjà l'un des plus puissants disponibles, donc il était clair que nous avions atteint la limite de l'approche "classique" et historique de BGA.

Croissez et multipliez

Donc voilà ce que nous avons fait : nous avons coupé en quatre le serveur temps réel, qui est devenu 4 serveurs indépendants - ce qui (en théorie) multiplie par 4 la capacité "temps réel" de BGA.

Mais pour faire cela, nous avons du faire en sorte que ces 4 serveurs communiquent ensemble en permanence pour rester bien synchronisés, vous permettant ainsi de pouvoir jouer ensemble si vous êtes connectés à des serveurs différents. Pour cela, nous avons du reprendre complètement la logique temps réel de BGA en en réécrivant 40 à 50%. En réalité cela ne représente pas un si gros travail que cela, mais c'est quelque chose d’extrêmement sensible - en gros la moindre erreur peut tuer le service en quelques secondes.

Le jour d'après

Aujourd'hui, le service semble stable, et la plupart des soucis que nous avons rencontrés hier ont été résolus. Cependant, nous avons dû modifier un composant sensible et important en très peu de temps, donc il se peut qu'il reste des problèmes que nous n'avons pas encore rencontré.

Si vous trouvez l'un de ces problèmes, merci de le signaler dans le système de bug ou directement en commentaire de ce message.

Note : si votre problème se produit depuis longtemps, c'est probablement qu'il n'est pas lié aux opérations qui ont eu lieu hier.

Merci à tous de rendre ce service aussi populaire, et désolé pour l'impact que ces changements - nécessaires - causent sur le service.

... et tant qu'à avoir de la capacité "temps réel" supplémentaire on en a profité pour ajouter la fonction "X est entrain d'écrire qqchose..." sur les fenêtres de chat :)
User avatar
yoyote
Posts: 335
Joined: 28 August 2012, 15:46

Re: Augmentation des capacités serveur

Post by yoyote »

Communication au top, pour un service gratuit... what else ?
Merci pour tout !
User avatar
Sambre14
Posts: 11
Joined: 27 August 2010, 22:26

Re: Augmentation des capacités serveur

Post by Sambre14 »

Victime de votre succès.

Merci pour tous ces jeux à partager entre joueurs du monde entier (ce qui empêchement pas d'acheter ces même jeux pour des parties entre amis - bien au contraire).
Merci pour cette communication.

Bonne continuation.
User avatar
raphpremier
Posts: 5
Joined: 06 January 2013, 14:54

Re: Augmentation des capacités serveur

Post by raphpremier »

Merci beaucoup pour tout le boulot qu'on ne "voit" pas!
Super communication!

Pleins de félicitations et de bisous à toute l'équipe!
User avatar
Marif1607
Posts: 143
Joined: 25 July 2014, 23:00

Re: Augmentation des capacités serveur

Post by Marif1607 »

yoyote wrote:Communication au top, pour un service gratuit... what else ?
Merci pour tout !
Effectivement, super service :) Et gratuit justement... je trouve cela désolant que si peu de joueurs payent alors que l'abonnement est si peu cher! Et donc à la portée de tous, même ceux qui ont peu de moyens... No comment :x
User avatar
Franck82
Posts: 1
Joined: 02 June 2015, 20:43

Re: Augmentation des capacités serveur

Post by Franck82 »

Merci pour la communication qui est vraiment géniale, et surtout pour l'équipe qui fait vivre ce site!!!
Bravo
User avatar
Chahalors
Posts: 4
Joined: 10 January 2016, 18:30

Re: Augmentation des capacités serveur

Post by Chahalors »

merci à toute l'équipe pour votre travail. BGA est ce qu'il y a de mieux sur le web en terme de jeux.
User avatar
Jonman
Posts: 1
Joined: 19 July 2016, 12:35

Re: Augmentation des capacités serveur

Post by Jonman »

Merci :)
User avatar
Black-angel972
Posts: 14
Joined: 26 June 2014, 22:37

Re: Augmentation des capacités serveur

Post by Black-angel972 »

GG pour tout ce que vous faites. C'est du boulot au top.
Courage pour la suite
Kirghise
Posts: 1
Joined: 07 March 2016, 11:03

Re: Augmentation des capacités serveur

Post by Kirghise »

Merci pour tout ce travail accompli pour notre plus grand plaisir de jeu à tous :) Très, très bonne idée l'ajout de cette fonction.
J'en profite pour vous suggérer l'ajout d'une émoticône "pouce levé dans la barre de chat..... cela aurait été bien utile ici (entre autres) GJ all !
Locked

Return to “Annonces officielles [fr]”