PlayFab での調整

調整は、クライアントが特定の API に設定された API 呼び出しレート制限を超えようとしたときに発生します。 これらの制限は、1 つのゲームが他のゲームの PlayFab サービスを中断するのを防ぐためです。

PlayFab の調整について

PlayFab では、ほとんどの場合、要求のターゲットまたは要求の影響に基づいて調整制限が適用されます。 1 人のプレーヤーをターゲットとする、またはそのプレーヤー固有のトークンを変更するAPIを使用する場合、PlayFab は 1 人のプレーヤーに適したレートを選択します。 要求がタイトル固有のトークンを使用し、プレーヤーをターゲットにしていない場合は、タイトルに適した別の制限セットが選択されます。 タイトル トークンを使用して呼び出すと、より多くのプレーヤーやエンティティに影響を与えたり、より多くの PlayFab アクションをより速く行うことができるため、これらの制限は単一のプレーヤー固有のトークンよりも高くなります。 PlayFab では、許可された要求のバケットを使用して、特定の時間枠で行うことができる要求の数も制限されます。 ほとんどの制限には 2 つのバケットがあります: 1 つはバースト シナリオに対して短時間でより多くの要求を行えるようにし、もう 1 つは通常のシナリオに対してより長い時間でより少ない要求を行えるようにするバケットです。

調整アルゴリズムの概要

  1. 最初に本文 (タイトル プレーヤー、タイトル エンティティ、マスター プレーヤー、キャラクターなど) を調べて、API 呼び出しの対象となるエンティティを識別します。
  2. 本文に明確なターゲット エンティティがない場合は、トークンの種類 (タイトル プレーヤー、マスター プレーヤー、またはタイトル) を使用して制限を決定します。
  3. いずれかの制限バケットの有効期限が切れた場合は、それらを削除し、新しい空のバケットを作成します。 制限バケット (バーストと持続の両方) 数を増やし、呼び出しがいずれかの制限バケットを超えているかどうかを確認します。
  4. 制限を超えた場合は、新しい空のバケットが使用可能になるまで残りの秒数で 429 エラーを返します。

ターゲット エンティティ調整の利点

ターゲット エンティティ調整は、対象となるエンティティの種類に基づいて特定の操作に制限を適用するメカニズムです。 これらの制限は、システムの安定性を維持し、悪用を防ぐのに役立ち、ユーザーに次の機能を提供します:

  • プレーヤーごとの一貫した制限: タイトルのスケールアップは個々のプレーヤーの制限に影響を与えず、タイトルは任意の容量制限を気にすることなくユーザー ベースを拡張できます。
  • プレーヤー調整の統一: 同時ユーザーに関係なく、プレーヤーは同じ調整を経験します。 これにより、開発者は小規模なユーザー ベースで開発の早い段階で調整の問題を特定できます。
  • サービスの安定性: 調整により、1 人のプレーヤーのトラフィックが、複数のタイトル間で共有される PlayFab サービスまたは特定のデータ プレーン パーティションに対して大きな影響を与えたり、悪影響を受けないようにすることができます。

関連項目