Skip to content
Yann Lastapis edited this page May 19, 2015 · 12 revisions

Serveur

Architecture Server

NodeJs + RequireJs

https://nodejs.org/ / http://requirejs.org/ Plateforme Javascript permettant un mode de programmation événementiel "StateLess" et pensé pour les applications modulables nécessitant une montée en charge importante.

PomeloJs

http://pomelo.netease.com/ PomeloJs Permet de créer une architecture distribuée et modulable. Il créera ainsi de nouveaux serveurs virtuels en fonction des besoins, à la volée. Cette architecture distribuée s'organise autour de deux types de serveurs : Applicatifs (A) et Connecteurs (C), ainsi qu'un seul et unique serveur de type Master (M)

  • Le Master se chargera de "booter" virtuellement les serveurs A & C requis.
  • Le connecteur établira une connexion permanente entre le client (Au travers de NGinx) et le serveur Applicatif, via des appels RPC.
  • Le serveur d'Application enfin effectuera les traitements logiques requis par les actions utilisateur.

Express

http://expressjs.com/ Mini-framework web NodeJs qui va permettre de gérer entre autres les Routes de notre application.

Socket.IO

http://socket.io/ Bibliothèque Javascript qui permet de faire de la communication en temps réel entre le client et le serveur, via des "sockets". Socket.io détermine pour chaque client quelle est la méthode de communication temps réel la plus adaptée, et essaiera "d'améliorer" le type de connexion, en fonction de ce que le client est capable d'accepter. Par exemple, si le navigateur ne support pas WebSocket mais que Flash est installé, socket.io passera par Flash pour faire de la communication temps réel. Sinon, il peut utiliser d'autres techniques comme l'AJAX Long Polling.

Types de connexions : WebSocket / Adobe Flash Socket / AJAX long polling / AJAX multipart streaming / Forever Iframe / JSONP Polling

Client

Clone this wiki locally