Question

Je considère Erlang comme un potentiel pour mon projet à venir. J'ai besoin d'un "Très évolutif, très fiable". (quel projet n’est-ce pas?) serveur Web pour accepter les requêtes HTTP, mais ne sert pas vraiment HTML. Nous avons des milliers de clients distribués (autres systèmes, pas utilisateurs) qui soumettront des données binaires au cluster central de serveurs pour un traitement hors ligne. Les réponses seraient très courtes, succès, échec, code d'erreur, données minimales. Nous voulons utiliser HTTP car c'est notre meilleure chance de traverser les pare-feu.

Étant donné ces informations limitées sur le projet, pouvez-vous indiquer les faiblesses qui pourraient apparaître avec une technologie comme Erlang? Par exemple, je comprends que les capacités de traitement de texte d’Erlang pourraient laisser à désirer.

Vos commentaires sont appréciés. Merci.

Était-ce utile?

La solution

Cela ressemble à un candidat idéal pour une langue comme Erlang. Les propriétés de mise à l'échelle du langage sont très bonnes, mais si vous vous inquiétez des capacités de traitement des données, vous ne devriez pas l'être. C'est un langage très puissant, avec de nombreuses bibliothèques disponibles pour les développeurs. C'est un vieux langage, et il a déjà été très utilisé / testé, de sorte que tout ce que vous voulez faire a probablement déjà été fait dans une certaine mesure.

Autres conseils

Assurez-vous d’utiliser erlang version R11B5 ou plus récente! Les versions précédentes de erlang ne permettaient pas de temporiser les envois TCP. Il en résulte que des clients bloqués ou malveillants sont en mesure d’exécuter une attaque par déni de service sur votre application en refusant de récupérer les données que vous leur envoyez, ce qui bloque le processus d’envoi.

Voir le numéro OTP-6684 dans les notes de publication de R11B5 .

Avec Erlang, l'évolutivité et la fiabilité sont là, mais la définition de votre projet ne précise pas le type de traitement de texte dont vous aurez besoin.

Je pense que la principale limitation d'Erlang pourrait être de trouver des développeurs expérimentés dans votre région. Faites des recherches sur la disponibilité des architectes et des codeurs d’Erlang.

Si vous voulez apprendre vous-même ou que vos développeurs l'apprennent au travail, gardez à l'esprit qu'il s'agit d'une manière très différente de coder et que, si la documentation de base est bonne, beaucoup de gens souhaitent qu'il y ait plus d'exemples. Bien sûr, la communauté très active compense facilement cela.

  

Je comprends le traitement de texte d'Erlang   les capacités pourraient laisser quelque chose à   être désiré.

Le projet starling fournit déjà une prise en charge de base en Unicode et une EEP (proposition d'amélioration Erlang) est en cours. en projet, mais en le faisant entrer dans le courant principal du soutien Erlang / OTP.

J'ai rencontré des problèmes avec les performances de lecture de Redis d'Erlang. Voici ma question . J'ai tendance à penser que la raison en est le module écrit en Erlang, qui rencontre des difficultés lors du traitement de tonnes de chaînes lors de la communication avec Redis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top