- Un article écrit par Joe Armstrong, figure bien connue de la communauté Erlang, dans lequel il évoque son programme Erlang préféré
- Ce programme est le « Universal Server », un concept qui généralise la notion de serveur afin de créer un serveur auquel on peut demander de devenir un serveur spécifique
- Le Universal Server attend un message
{become, F} et, lorsque F est une fonction, il devient alors le serveur F
- Armstrong présente un « Factorial Server », un serveur qui attend un entier et renvoie la factorielle de cet entier
- Il montre comment créer une fonction qui fabrique un serveur universel, lui envoyer un message lui disant de « devenir un serveur de factorielle », lui envoyer un entier, attendre la réponse, puis afficher cette réponse
- Il partage une anecdote sur son passage à SICS, où il avait accès à Planet Lab, un réseau de recherche composé de 9 000 ordinateurs
- Il a utilisé Planet Lab comme banc d’essai réel pour des applications distribuées, en installant un serveur Erlang universel vide sur toutes les machines de Planet Lab et en mettant en place un algorithme de rumeur qui inondait le réseau avec des messages
become
- Cela lui a permis de transformer rapidement le réseau en ce qu’il voulait, et il s’en est servi pour construire un réseau de diffusion de contenu destiné à un article de recherche
- L’article montre la flexibilité et la puissance d’Erlang pour créer des systèmes dynamiques et distribués
1 commentaires
Avis Hacker News
{becom, F}, permettant au serveur de continuer à évoluer