Dans ma série "je fais tout en Ruby", voici Puma, une alternative à webrick et mongrel qui à l'avantage de gérer parfaitement la concurrence.
L'objectif est d'atteindre de bonnes performances pour éviter de faire des déploiements différents entre développement et production. Exit donc nginx ou apache !

A noté la possibilité de binder le serveur sur un socket unix (plutôt que TCP) ce qui permet de booster encore les perfs. Je me note donc pour plus tard
qu'il faudra essayer de faire tourner cucumber avec ce type de binding :-)

Commentaires

Par contre ne gère pas nativement le zero downtime comme peut le faire unicorn.

Il y a presque 5 ans

Par contre quid de thin si on utilise puma, quelle est la différence entre les deux?

Il y a presque 5 ans

Thin et puma sont dans le même esprit je pense.
La différence va se faire sur les requêtes concurrentes qui font appel à des IO bloquants.
Là où thin utilise Event-machine et des libs externes pour contourner le problème. Puma va utiliser des Thread natifs pour les VM qui l'autorisent ( Rubinius,JRuby) et son propre mécanisme sur la MRI.

Il y a presque 5 ans

Dans le style, Rainbows me semble pas mal aussi. Notamment parce que la façon de gérer la concurrence est "pluggable". On peut utilser les Fiber, ou des threads, ou plein d'autres choses.

Il y a presque 5 ans
Vous devez vous inscrire ou vous connecter pour poster un commentaire