ThingWorx 高可用性でのロードバランサー
ThingWorx HA 環境では、ThingWorx および ThingWorx Connection Server のプロキシとして、以下の機能をサポートするすべてのレイヤー 7 ロードバランサーを使用できます。
• HTTP および WebSocket トラフィック
• HTTP トラフィックのスティッキーセッション/IP ベースのセッション維持機能のサポート
◦ スティッキーセッションは cookie に基づいており、セッションは cookie に基づいて同じサーバーにルーティングされます。
同じ IP であってもユーザーが異なる場合は異なるマシンにルーティングできます。
◦ IP ベースとは、特定の IP からのすべてのトラフィックが同じサーバーにルーティングされることを意味します。これはゲートウェイタイプのシナリオで問題になる可能性があります。
• パスベースのルーティング
これは、URL または URL の一部に基づいて特定のバックエンドにルーティングする機能です。
• サーバーのエンドポイントでの正常性チェック
• オプション: SSL ターミネーションおよび SSL 内部エンドポイントの管理
ロードバランサーのサンプルコンフィギュレーションが
HAProxy の例に示されています。この例は HAProxy (
http://www.haproxy.org) に基づいています。
デフォルトでは、すべてがプラットフォームサーバーにルーティングされますが、以下は接続サーバーにルーティングされる必要があります。
• /Thingworx/WS
• /Thingworx/WSTunnelServer
• /Thingworx/WSTunnelClient
• /Thingworx/VWS
ThingWorx HA で ThingWorx Flow をインストールしている場合、以下は ThingWorx Flow にルーティングされる必要があります。
• /Thingworx/Composer/apps/flow
• /Thingworx/Flow
• /Thingworx/Triggers
• /Thingworx/Lookups
• /Thingworx/Oauths
• /Thingworx/Subsystems/EventProcessingSubsystem/Subscriptions
• /enterprise/v1/fetchconfig
すべてのサーバーは、その正常性コンフィギュレーションに基づくロードバランシングの一部としてのみ設定する必要があります。正常性チェックの頻度を設定する場合、不正なリクエストの処理をどこまで許容するかに基づいて、一定の頻度で実行する必要があります。
• ThingWorx Foundation には /health および /ready エンドポイントがあります。ロードバランサーでは /Thingworx/ready エンドポイントを使用する必要があります。サーバーがトラフィックを受信する準備ができている場合、これは 200 を返します。
• 接続サーバーは特定のポートで正常性チェックリクエストを実行し、正常な場合に 200 を返します。