RoundRobin
は、メッセージを順番にアクターにルーティングするルーターです。
RoundRobin
は、RoundRobinPool
とRoundRobinGroup
の2つのタイプがあります。
プールとグループ
RoundRobinPool
とRoundRobinGroup
は、
メッセージをラウンドロビン順にルーティングするルーターです。
これは、複数のワーカーアクターにメッセージを配信するルーターとして一番簡単な方法です。
ラウンドロビンルーターを使用して5つのワーカーを展開する例を示します。
use Phluxor\ActorSystem;
use Phluxor\Router\RoundRobin\PoolRouter;
run(function () {
go(function () {
$system = ActorSystem::create();
$props = PoolRouter::create(
5,
ActorSystem\Props::withProducer(
fn() => myActor()
)
);
$router = $system->root()->spawn($props);
$future = $system->root()->requestFuture($router, new Hello(), 1000);
$v = $future->result()->value();
var_dump($v);
});
});