Il semble qu'il y ait beaucoup de choses intéressantes à propos du framework Akka (je ne comprends pas vraiment le framework, j'espère y aller bientôt).
Est-il recommandé d'utiliser Akka dans Clojure? Est-il sensé d'utiliser Akka comme modèle de concurrence dans les projets Clojure et d'abandonner les installations intégrées?Akka en tant que modèle de concurrence pour Clojure
Répondre
Clojure a beaucoup de support intégré pour gérer la concurrence. Il n'est pas nécessaire d'intégrer un acteur libéral dans votre projet, sauf si vous avez réellement besoin d'acteurs. Votre question ne détaille pas l'architecture ou la conception de votre système, donc je ne peux pas vraiment dire si les acteurs sont nécessaires pour votre projet, mais je ne vais certainement pas y aller directement. Jetez un coup d'œil aux agents de Clojure et aux autres primitives de concurrence. Ils devraient répondre à vos besoins tout à fait bien.
En ce qui concerne Akka (ou toute bibliothèque d'acteur) comme modèle de concurrence pour Clojure, ce n'est pas la façon dont le langage a été conçu. Vous pouvez choisir d'utiliser une bibliothèque d'acteurs pour votre application, mais ce n'est pas l'approche que le langage Clojure a adopté.
Cela dépend si votre projet utilise déjà les fonctions intégrées. Cela dépend aussi si votre entreprise/projet tolère l'idée en premier lieu, tolère les conditions de licence de la bibliothèque, et si vous/votre groupe êtes disposé à vivre avec le soutien de la communauté ou à payer pour le support commercial.
Voir:
En outre, il descendra de préférence pour les développeurs de votre projet, maintenabilité du code que vous écrirait vs la norme installations, niveau de soutien à la bibliothèque, acceptation de la bibliothèque au sein de la communauté de développement logiciel Clojure, etc.
Mon conseil est de l'évaluer et de réaliser des prototypes de preuve de concept comparatifs avec toutes les technologies que vous envisagez.
Ce type de conseil est applicable lors de l'ajout de tout code tiers à un projet.
Accepter aveuglément l'avis de quelqu'un d'autre pourrait vous coûter beaucoup de temps, d'efforts, d'argent et de soutien de la part d'autres développeurs.
Notez que je ne connais pas grand-chose de Clojure, ou de cette bibliothèque, mais j'ai évangélisé et obtenu l'acceptation de bibliothèques tierces dans plusieurs projets/entreprises. J'espère que cela aide :) –
C'est l'un des conseils les plus professionnels et pragmatiques de tous les temps. – Chiron
Pulsar projets apporte des threads légers, CSP et des acteurs de type Erlang pour Clojure.
- 1. Qu'est-ce que le modèle de concurrence de Meteor?
- 2. Utilisation de Clojure deftype en tant que fonction paramétrée
- 3. Dict en tant que champ de modèle
- 4. Passant modèle partiellement spécialisé en tant que paramètre de modèle
- 5. Fichier XML en tant que modèle pour le projet django
- 6. boost-asio en tant que "modèle" pour un démon
- 7. Différences entre le modèle de concurrence PHP et le modèle de concurrence Node.js
- 8. fonctions modèle en tant que paramètres modèle par défaut
- 9. Passant modèle en tant que paramètre non spécialisé modèle
- 10. Render Contrôle de l'utilisateur en tant que modèle de chaîne
- 11. tableau de structures en tant que paramètre de modèle
- 12. Comment réaliser des opérations atomiques (modèle de concurrence) en JavaScript?
- 13. Utilisation du type passé en tant que modèle en C++
- 14. Évaluation de la chaîne en tant que balise modèle - Django
- 15. Fonctions en tant que paramètres de modèle numéro
- 16. comment charger() fichier de modèle, passer en tant que variable?
- 17. Classe de modèle se référant à elle-même en tant que paramètre de modèle de modèle?
- 18. Equivalent d'Akka mais pour .NET (Framework de concurrence)
- 19. Modèle correct pour accumuler dans un état acteur Akka
- 20. Rendu de json en tant que dictionnaire dans le modèle
- 21. Modèle de vue Ember en tant que propriété calculée
- 22. ViewModel en tant que membre de ViewModel
- 23. Concurrence variable dans le modèle Singleton Class
- 24. Comment spécifier le logback en tant que dépendance de projet?
- 25. Modèle JDBC en tant que client d'Apache Phoenix
- 26. angulaire en utilisant ui-select2 pour affecter un objet en tant que propriété de modèle
- 27. Contrôle utilisateur WPF en tant que modèle d'élément
- 28. Passage d'un noeud en tant que modèle XSL Paramètre
- 29. Doctrine: Définir les valeurs du modèle en tant que tableau
- 30. Comment envoyer deux listes en tant que modèle dans MVC
Clojure n'a aucun support pour la distribution, non? Donc, si vous voulez passer à plus d'une machine, que faites-vous dans Clojure? –
il existe une "bibliothèque d'acteurs pour Clojure modélisée d'après la plate-forme Erlang OTP". (et erlang était une source d'inspiration pour akka ??) https://github.com/antoniogarrote/jobim et http://antoniogarrote.wordpress.com/2010/09/03/jobim-an-actors-library-for-clojure/ – jneira
C'est vrai, il n'y a pas de support pour la distribution. La plupart du temps, les gens pensent qu'ils ont besoin de distribution et se retrouvent dans un tas d'acteurs enchevêtrés quand tout ce dont ils avaient vraiment besoin était une file d'attente ou quelque chose de simple. Ce n'est pas le cas pour tout le monde, mais c'est le cas courant :) – abedra