---
# System prepended metadata

title: 第9章 メッセージのルーティング
tags: [Akka本読書会]

---

# 第9章 メッセージのルーティング

#### 疑問

#### 感想

## 9.1 EIPのルーターパターン

#### 疑問

#### 感想
- 前章で挙がった Scatter-Gather や Routing Slip が、 Composed Routers = 複数の *Simple Routers* を組み合わせによる複雑なメッセージフローとして、EIPでは紹介されている
    - EIP7章(Chapter7. Message Routing)
        - > Simple Routers are variants of the Message Router (78) and route messages from one inbound channel to one or more outbound channels.
        - > Composed Routers combine multiple simple routers to create more complex message flows.
        - > Architectural Patterns describe architectural styles based on Message Routers (78).

## 9.2 Akkaのルーターを使った負荷分散

#### 疑問

#### 感想

- グループルーターの場合、ルーティのactor pathの命名規則を定めておかないといけない気がする
    - リサイズのときにぶつかるとまずい場合があるかも
    - > 本項で説明したように、グループのルーティーを動的に変更することは可能ですが、数多くの落とし穴があるため、利用はなるべく控えてください。(P.240)
- 紹介されたルータの使い分け
    - プールルータ: スケールイン/アウトしたい場合
    - グループルータ: 並列度が固定で良い場合
    - consistent hasingルータ: 複数のメッセージによって処理が完結する場合

- 言うほど `pressure-threshold = 0` のケースは特殊というわけでも無い印象
    - 前段の説明・定義からすると「そりゃそうだね」ぐらい

## 9.3 アクターを使ったルーターパターンの実装

#### 疑問

#### 感想
- 「内容ベースのルーティング」が、EIPで言うところの Content-Based Routerっぽい
- フィールドを適宜書き換えてif分岐ではなく、 `become` / `unbecome` で振る舞いを直接動的にスイッチするのユニーク
    - 「振る舞いを変更する」という意味では、ある意味では直接で「シンプル」的かもしれない

## 9.4 まとめ

#### 疑問

#### 感想
- 章の冒頭で言うほどEIP（におけるルーティングパターン）の話してない感

###### tags: `Akka本読書会`