# cLoadBalancer

負荷分散ポリシーに従って、受信したメッセージを複数のエンドポイントに配信します。

詳細は、Apache Camelのドキュメンテーションhttps://camel.apache.org/components/latest/を参照してください。

## cLoadBalancerの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているcLoadBalancerを設定するために使われます。

標準のcLoadBalancerコンポーネントは、Routingファミリーに属しています。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Strategy] (戦略) | [Random] (ランダム)、[Round Robin] (ラウンドロビン)、[Sticky] (スティッキー)、[Topic] (トピック)、[Failover] (フェイルオーバー)、[Custom] (カスタム)から選択します。それぞれの方法について以下に説明します。 |
| ランダム | 受信エンドポイントは、各交換でランダムに選択されます。 |
| [Round Robin] (ラウンドロビン) | メッセージは、負荷を均等に分散するラウンドロビン方式に従って分散されます。 |
| [Sticky] (スティッキー) | <ul> <li> <p> <span>[Language] (言語)</span>: メッセージを配布するために<span>[Expression] (式)</span>フィールドで使用する式の言語を以下から選択します: <span>なし</span>、<span>Bean</span>、<span>Constant</span>、<span>CorrelationID</span>、<span>EL</span>、<span>Groovy</span>、<span>Header</span>、<span>JoSQL</span>、<span>JSonPath</span>、<span>JXPath</span>、<span>MVEL</span>、<span>OGNL</span>、<span>PHP</span>、<span>Property</span>、<span>Python</span>、<span>Ruby</span>、<span>Simple</span>、<span>SpEL</span>、<span>SQL</span>、<span>XPath</span>、<span>XQuery</span>。</p> <p>言語を使って式を作成する方法は、<a href="http://camel.apache.org/languages.html" target="_blank">http://camel.apache.org/languages.html</a>をご覧ください。</p> </li> <li> <p> <span>[Expression] (式)</span>: 選択するエンドポイントを決定するコリレーションキーの計算に使う式を入力します。 </p> </li> </ul> |
| トピック | すべてのメッセージをすべてのエンドポイントに送信するには、このオプションを選択します。 |
| [Failover] (フェイルオーバー) | <ul> <li> <p> <span>[Basic mode] (基本モード)</span>: デフォルトでは、フェイルオーバー負荷分散は常に最初のエンドポイントにメッセージを送信します。最初のエンドポイントが失敗した場合、メッセージは後続のエンドポイントに送信されます。</p> </li> <li> <p> <span>[Specify exceptions] (例外の指定)</span>: <span>[Exception] (例外)</span>テーブルで、フェイルオーバーが反応する例外を指定します。</p> </li> <li> <p> <span>[Use with Round robin] (ラウンドロビンで使用)</span>: 詳細オプションでフェイルオーバーを使うには、このオプションを選択します。</p> <p><span>[Maximum failover attempt] (フェイルオーバーの最大試行回数)</span>リストから、転送を中止する前に続行する試行回数を選択します。 </p> <p> -<span>[Attempt forever] (試行を継続)</span>: 常にメッセージの転送を試み、常にフェイルオーバーを試みます。 </p> <p> 									-<span>[Never failover] (フェイルオーバーを行わない)</span>: メッセージの転送を即座に中止し、フェイルオーバーを試みません。</p> <p> -<span>[A number of attempts] (試行回数)</span>: メッセージの転送を<em>n</em>回試行します。その数字を<span>[Number of attempts] (試行回数)</span>フィールドで指定します。</p> <p> <span>[Inherit error handler] (エラーハンドラーの継承)</span>: Camelエラーハンドラーを使う場合は、<em>true</em>を選択します。<em>false</em>を選択した場合、ロードバランサーは例外がスローされた時にすぐにフェイルオーバーします。 </p> <p> <span>[Use Round robin] (ラウンドロビンを使用)</span>: フェイルオーバーとラウンドロビンを組み合わせる場合は、<em>true</em>を選択します。ラウンドロビンモードによるフェイルオーバー負荷分散は、サービス間で負荷を均等に分散し、自動フェイルオーバーを提供します。</p> </li> </ul> |
| Custom (カスタム) | [Load balancer] (ロードバランサー): カスタムロードバランサーの名前を入力します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | cLoadBalancerは、ルート内の中間コンポーネントとして使用されます。 |
| [Connections] (接続) | <ul> <li> <span>[Load Balance] (負荷分散)</span>: 選択した負荷分散戦略に従ってメッセージを次のエンドポイントにルーティングするには、このリンクを選択します。 </li> <li> <span>[Route] (ルート)</span>: すべてのメッセージを送信者から次のエンドポイントにルーティングするには、このリンクを選択します。 </li> </ul> |
| 制限事項 | 該当なし |

**関連概念**

[ラウンドロビンに基づいてメッセージを受信者エンドポイントに配信する](https://help.qlik.com/talend/ja-JP/mediation-components/8.0/mediation-load-balancer/cloadbalancer-cjavadslprocessor-cmessagingendpoint-cprocessor-distributing-messages-to-receiver-endpoints-based-on-round-robin)