G-wan
Développé par | Pierre Gauthier |
---|---|
Environnement |
Linux Unix Windows ... |
Type | Serveur HTTP |
Licence | Freeware et propriétaire |
Site web | gwan.ch |
G-Wan [Global-WAN] est un logiciel de serveur Web (ou HTTP) écrit par TrustLeap, dont le développement a débuté en 2009 pour développer des applications Web, d'où le support de scripts natifs dans les langages Java, C, C++, D et Objective-C.
Particularités
Serveur multi-thread et asynchrone
G-WAN est un logiciel serveur multi-thread: un seul exécutable est nécessaire pour utiliser tous les cœurs de tous les micro-processeurs d'une machine serveur. G-Wan est également un serveur asynchrone, ce qui permet à chaque thread de traiter un grand nombre de connexions HTTP.
Ce choix d'architecture mixte permet des performances plus élevées que les serveurs seulement multi-threads ou asynchrones, mais également une consommation de mémoire plus modeste comparativement aux serveurs HTTP classiques, tels qu'Apache ou Nginx, lesquels doivent cumuler soit un grand nombre de threads (un par connexion), soit plusieurs processus serveurs (un par cœur de micro-processeur).
Modularité
G-Wan permet de créer des applications Web de manière très simple puisqu'il suffit de créer un fichier source (Java, C, C++, etc.) dans un répertoire donné pour avoir:
- une application Web
- un handler (l'équivalent des modules d'Apache ou de Nginx)
- un script de maintenance (permettant des tâches diverses comme le monitoring ou les sauvegardes)
Chaque handler peut agir comme un filtre sur le contenu en entrée, en sortie ou intermédiaire (proxy) en utilisant les fonctions du langage de programmation choisi. Ainsi, à titre d'exemple, les fichiers Flash FLV peuvent être servis en streaming à la volée par le handler « flv.c » avant envoi, et ce en seulement une quinzaine de lignes de code C[1] (d'autres serveurs Web, comme Apache, Nginx ou Lighttpd requierent respectivement 137 lignes[2], 352 lignes[3] et 257 lignes[4] pour accomplir la même tâche).
Optimisations
Le serveur G-Wan utilise son propre Key-Value store (banque de donnée clef-valeur) pour réduire le nombre d'appels système, et la consommation des ressources mémoire système et micro-processeur. Cette structure de donnée est très rapide sous des systèmes multi-processeurs parce qu'elle est wait-free (sans temps d'attente), ce qui signifie qu'elle permet à toutes les tâches de s'exécuter en parallèle, sans blocage ni délai.
Beaucoup de serveurs Web sont mono-thread (mono-tâche) pour éviter de résoudre ces problèmes de synchronisation et de concurrence que le Key-Value store de G-Wan a résolu.
Productivité
Les scripts G-Wan peuvent être mis à jour à la volée sans avoir à arrêter le service HTTP, ce qui simplifie grandement le développement d'applications Web: il suffit de presser la touche F5 dans le navigateur Internet pour exécuter la version la plus récente du code source d'un script.
Plateformes prises en charge
G-Wan fonctionne sous les systèmes d'exploitation Linux et Microsoft Windows. La version Windows n'est plus mise à jour depuis que la version Linux s'est montrée plus rapide.
Utilisations
Outre le fait d'être un serveur HTTP, G-Wan permet de ré-utiliser le code source écrit dans les langages de programmation les plus populaires (Java, C, C++, D, Objective-C) pour porter des applications de bureau vers le Web. En offrant des scripts de manière native, G-Wan évite de devoir passer par l'interface FastCGI, plus lente et plus consommatrice en resources.
Notes et références
Voir aussi
Liens externes
- (en) Site officiel
- (en) Forum
- (fr) Programmez.fr - G-WAN un serveur web ultra rapide
- (fr) GreenIT.fr - G-WAN consomme moins de ressources
- (en) About.com C/C++/C# - G-Wan Superfast Webserver for C Scripting
- (en) http://loadstorm.com/2011/web-server-performance-benchmarks LoadStorm - Lowest Cost Cloud Load Testing Tool
- (en) Salem-News - The Future of the Internet: Pierre Gauthier and the G-Wan Web Server
Article publié sur Wikimonde Plus
- Portail de l’informatique