Skip to content

Use cases

Use cases for the web server Abilian will work on.

Use case for Nexedi

Pour avancer sur Cython+ et la réalisation d’un serveur HTTPS performant en Cython+, voici ce qui existe comme base possible à ma connaissance :

Et aussi, pour référence :

Un bon serveur HTTP nécessite une bonne librairie pour supporter HTTP2 et HTTP3. Il y en a peu et ce n’est pas forcément simple à réaliser, surtout en 18 mois.

(Cf. QUIC et HTTP3)

En revanche, ce que nous avons fait en HTTP1 (https://www.nexedi.com/NXD-Blog.Multicore.Python.HTTP.Server) montre que l’on peut obtenir très vire un résultant impressionnant si l’on part d’une base existante.

Le document suivant de Facebook https://www.esnog.net/gore16/gore16-files/Mikel_Billion_user.pdf donne aussi une idée de ce qui se fait de nos jours.

Pour Nexedi, le backend (Zope) n’est pas important en termes de performance. En revanche, nous serions heureux de pouvoir éventuellement remplacer Apache, Nginx, Caddy, etc. par quelque chose en Cython+

  • soit pour avoir “tout dans un process Python” plutôt que deux processus (python + serveur HTTP) sur le backend (suppression/réduction de dépendance)
  • soit pour remplacer Caddy dont la nouvelle version est incompatible avec l’ancienne et a changé de licence

Dans les deux cas, nous allons devoir migrer vers quelque chose d’ici 2 ans. Cela veut dire qu’il y a une opportunité d’application réelle. Le remplacement de Caddy sur nos front-end est la véritable “épreuve du feu” (3000+ domaines hébergés) et permettrait de prouver que ça marche vraiment.

Back to top