Am a Scalaプログラマーであり、開発者の観点からAkkaを理解しています。Akkaライブラリのコードを調べたことがありません。ベース-しかし、Akkaを大規模に実行したことがないAkkaを本番用に構成した経験がありません。
表面的な見方では、それらは本当に似ていますが、私は個人的にはAkkaよりもMQシステムに似たvert.xのアイデアを考えています... vert.xトポロジはよりフラットです:verticleは他のverticleとメッセージを共有し、受信します応答...代わりにakkaはツリーのようなもので、複数のアクターがいますが、他のアクターを使用してアクターを監督できます。単純なプロジェクトの場合はそれほど大したことではないかもしれませんが、大きなプロジェクトの場合はより多くの「階層システム」...
一方、vert.xは、非常に人気のある言語間の相互運用性を向上させます*。私にとってそれは大きなポイントであり、アクターをMQシステムと混合し、より複雑に対処する必要がある場合、vert.xはそれをシンプルでエレガントにします。システムはscala上でのみ構築されるため、akkaが最良の方法になる可能性があります... javascript、Ruby、python、Javaなどとの通信が必要で、複雑な階層が必要ない場合は、vert.xが最適です行く方法..
*(jsonを使用し、これはに比べて利点または欠点になる可能性があります)
また、vert.xは完全なソリューション、tcp、httpサーバー、ルーティング、さらにはwebsocketであることも考慮する必要があります!!!彼らは完全なスタックを提供し、APIは非常にきれいであるため、それはかなり驚くべきことです... akkaを選択した場合、play、xitrumまたはsprayなどのフレームワークを使用する必要があります。個人的には私はそれらが好きではありません.
また、vertxは意見の表明されていないプラットフォームであることを忘れないでください。たとえば、ほとんどオーバーヘッドなしでakkaまたはkafkaを使用することができます。それはとても簡単です...
Vert.xは驚くべき視点を持つ大きなプロジェクトですが、本当に新しいソリューションが必要な場合、それはより良い選択肢ではないかもしれません。幸い、同じプロジェクトで両方を学び、両方を使用することができます...
少しのグーグル検索を行った後、私はAkkaとVert.xの詳細な比較でまだ行われていないことを理解しました(少なくとも私はそれを見つけられません)。
計算モデル:
リアクティブストリーム:
HTTPサポート
Scalaサポート
リモートサービス
参照: