Suis un Scala programmeur et comprends Akka du point de vue du développeur. Je n'ai pas examiné le code de la bibliothèque Akka. J'ai lu sur les deux types d'acteurs dans le modèle Akka - basé sur les threads et événementiel -based - mais n'ayant pas exécuté Akka à grande échelle, je n'ai aucune expérience de la configuration d'Akka pour la production. Et je suis complètement nouveau sur Vert.x. Donc, du point de vue des choix pour construire une pile d'applications réactives, je veux savoir -
Dans une vue superficielle, ils sont vraiment similaires, bien que je considère personnellement des idées vert.x plus similaires à certains systèmes MQ qu'à akka ... la topologie vert.x est plus plate: un verticle partage un message avec un autre verticle et reçoit un réponse ... au lieu de cela, akka ressemble plus à un arbre, où vous avez plusieurs acteurs, mais vous pouvez superviser des acteurs en utilisant un autre acteur, .. pour les projets simples, ils ne sont peut-être pas si gros, mais pour les grands projets, vous pourriez apprécier un plus "système hiérarchique" ...
vert.x, d'autre part, offre une meilleure interopérabilité entre des langages très populaires *. Pour moi, c'est un gros point, où vous auriez besoin de mélanger des acteurs avec un système MQ et de gérer plus de complexité, vert.x le rend simple et élégant .. donc la réponse, qui est mieux? ... dépend, si votre le système sera construit uniquement sur scala, alors akka pourrait être le meilleur moyen ... si vous avez besoin d'une communication avec javascript, Ruby, python, Java, etc ... et n'avez pas besoin d'une hiérarchie complexe, alors vert.x est le marche à suivre..
* (en utilisant json, ce qui pourrait être un avantage ou un inconvénient par rapport à)
vous devez également considérer que vert.x est une solution complète, tcp, serveur http, routage, même websocket !!! C'est assez étonnant car ils offrent une pile complète et l'api est très propre ... si vous choisissez akka, vous auriez besoin d'utiliser un cadre comme play, xitrum o spray..personnellement, je n'aime aucun d'entre eux.
Rappelez-vous également que vertx est une plate-forme sans opinion, vous pouvez utiliser akka ou kafka avec lui, par exemple, sans presque aucun frais généraux. La façon dont chaque partie du système est découplée à l'intérieur d'un verticle fait c'est si simple ...
Vert.x est un grand projet avec une perspective incroyable mais vraiment nouveau, si vous avez besoin d'une solution maintenant, ce ne serait peut-être pas la meilleure option, heureusement, vous pouvez apprendre les deux et les utiliser dans le même projet ...
Après avoir fait un peu de recherche sur Google, je me suis dit que la comparaison détaillée d'Akka contre Vert.x n'a pas encore été effectuée (au moins, je ne le trouve pas).
Modèle de calcul:
Flux réactifs:
Prise en charge HTTP
Support Scala
Services à distance
Les références: