jeudi 27 janvier 2011

Projet "1 milliard" - Analyse du périmètre

Dans le cadre du challenge USI 2011, notre défi (que nous acceptons) est de développer une application pouvant accueillir 1 milliard d'utilisateurs et supportant 1 million de connexions simultanées.

Dans cet article, je délimiterai le périmètre fonctionnel de l'application. Cette première analyse permettra de mieux cadrer l'ensemble des fonctionnalités à développer.

Contexte

Le projet "1 milliard" consiste à développer une application de QCM simple. Cette application doit pouvoir accueillir jusqu'à 1 million de joueurs simultanés. Elle doit également fournir une API d'administration permettant de créer des parties, avec un ensemble de questions et les réponses associées, et d'enregistrer tous les joueurs attendus.

Notre application doit disposer de deux façades :

  • Une IHM visualisable dans un navigateur internet
  • Une API REST d'administration

Les organisateurs disposent d'un utilitaire leur permettant de tester l'API de l'application.

Fonctionnalités à développer

Ce paragraphe reprend les exigeances fonctionnelles décrites sur le site du challenge USI en rapportant les exigences à nos éléments techniques.

  • Côté API
    • La fonction "créer un utilisateur" de l'API doit supporter 1 million de requêtes en une heure
    • La fonction "créer une partie" de l'API doit attendre les informations "Questions", "Réponses", "Nombre de joueurs" et "Temps de réponse"
  • Côté API
    • Le serveur accueille tout joueur qui s'authentifie par login/mot de passe.
    • Le serveur attend la connexion de tous les joueurs avant de démarrer la partie.
    • Le serveur transmet à chaque joueur la première question.
    • Le serveur attend que tous les joueurs aient répondu ou que le temps maximum de réponse soit écoulé pour arrêter de recevoir des réponses.
    • Le serveur met à jour les scores des utilisateurs.
    • Le serveur envoie à chaque joueur la bonne réponse à la question, le score du joueur, les 100 premiers joueurs, les 50 joueurs classés avant lui et les 50 joueurs classés après.
    • Le serveur poursuit cette séquence (envoi de question, attente des réponses, calcul du score et envoi du récapitulatif) jusqu'à ce qu'il n'y ait plus de questions.

Choix d'architecture

Les choix d'architectures sont laissés à la discrétion des candidats.

Objectifs

Si les inscriptions ne sont pas encore clôturées, le nombre d'équipes maximum a déjà été atteint. Il n'est plus possible de bénéficier d'une infrastructure de test adaptée à un tel projet.

Je compte toutefois participer en candidat libre au projet. Je posterai sur ce blog mes contributions durant le challenge.

Aucun commentaire:

Enregistrer un commentaire