私はかなりの量の Apache Camel (ルーティング/メディエーション/オーケストレーション エンジン; 軽量 ESB) の経験があり、Akka の違いを理解しようと頭を悩ませています:
- ディスパッチャー (
Dispatcher
、PinnedDispatcher
、CallingThreadDispatcher
) - ルーター
- プール
- グループ
- イベントバス
ドキュメントによると:
ディスパッチャは次のとおりです。
…それがAkka Actorsを「カチカチ」させる、いわば機械のエンジンです。
しかし、それでは、ディスパッチャとは何か、またはアクターとの関係がどのようなものかについては、実際には説明されていません。
ルーターは次のとおりです。
メッセージをルーター経由で送信して、ルートと呼ばれる宛先アクターに効率的にルーティングできます。Router はアクターの内部または外部で使用でき、自分でルートを管理したり、構成機能を備えた自己完結型のルーター アクターを使用したりできます。しかし、それはディスパッチャーのようにひどく聞こえます。
プールは次のとおりです。
子アクターとしてルートを作成し、それらが終了するとルーターから削除する [のタイプ] ルーター。
グループは次のとおりです。
[タイプ] アクター [ルート] はルーターの外部で作成され、ルーターはアクターの選択を使用して、終了を監視せずに指定されたパスにメッセージを送信します。
イベントバスは次のとおりです。
...アクターのグループにメッセージを送信する方法
これは、ディスパッチャーとルーターのように聞こえます。
したがって、私の主な懸念事項は次のとおりです。
- ディスパッチャー、ルーター、イベントバスの違いと、それぞれをいつ使用するか?
- プールとグループをいつ使用するか?