1

Akka Actor モデルの適用性を知りたいです。

膨大な数の Actor インスタンスが作成および破棄される場合に役立つことがわかっています。たとえば、すべての着信コールがアクター インスタンスを作成し、他のいくつかのアクターと通信し、コールが終了すると強制終了されるコール サーバーなどです。

次のシナリオでも役立ちますか:

サーバーには、アクター上に実装されたいくつかの処理要素 (10 ~ 50) があります。これらの処理要素の寿命は無限です。状態を維持しないものもあれば、状態を維持するものもあります。処理要素はメッセージを処理し、そのメッセージを他のアクターに一定の方法で渡します。システムは外部から膨大な量のメッセージを受け取り、処理要素を通過してシステムの外に出ます。

私の直感では、Akka Actor モデルを使用したり、このサーバーを Scala で実装したりしても、何の利点も得られません。Akka が設計されているユース ケースは、ここでは適用されないためです。スケールアップが処理要素を動的に増加させることを意味する場合、それは適用可能です。

固定トポロジの場合、Java で実装すると、生のパフォーマンスの点でより有益になると思います。Scala の「不変性」機能により、コピーが増えるため、パフォーマンスが低下します。だから私はJavaに固執する方が良いと信じています。

私の理解は正しいですか?私は、上記のアプリケーション シナリオで Java を離れて Scala/Akka を使用する必要がある理由を知りたいと思っています。私の目標は、毎秒 100 万メッセージを処理することです。

4

1 に答える 1