API トラフィック制限機能を使用すると、個別の API のレート制限、すべての API のデフォルトのレート制限、およびアプリケーションの合計レート制限を設定できます。この機能により、ピークトラフィック時にバックエンドサーバーに過剰な負荷がかかるのを防ぎます。デフォルトの API レート制限とアプリケーションの合計レート制限の両方を設定した場合、いずれか低い方の制限値が優先されます。
このトピックでは、デフォルトの API レート制限とアプリケーションの合計レート制限の設定方法について説明します。特定の API のレート制限は、API の詳細ページで設定できます。詳細については、「API の設定」をご参照ください。
前提条件
トラフィック制限設定を使用するには、まずトラフィック制限機能を有効にする必要があります。mPaaS コンソールにログインします。左側のナビゲーションウィンドウで、[Mobile Gateway] > [Gateway Management] を選択します。次に、[API トラフィック制限] スイッチをオンにします。
デフォルトの API レート制限
現在のアプリケーション内のすべての API に対して、デフォルトのレート制限を設定できます。デフォルトのレート制限は、次のルールに基づいて適用されます:
特定の API にレート制限が設定されている場合、その制限がデフォルトのレート制限を上書きします。
API ごとのスロットリング設定は、デフォルト設定を上書きします。
デフォルトのレート制限設定を変更すると、デフォルト設定を使用しているすべての API に影響します。
手順:
[API デフォルトトラフィック制限] スイッチをオンにします。
デフォルトのレート制限設定ボックスで [編集] をクリックし、レート制限情報を設定します。
デフォルトのレート制限:ビジネスニーズに基づいて、適切なしきい値を設定します。この値を超えたリクエストはスロットリングされます。
説明レート制限のしきい値は、1 秒あたりの最大リクエスト数です。
トラフィック制限の応答:スロットリングされたリクエストに対するデフォルトの応答は次のとおりです:
{"resultStatus":1002,"tips":"The server is busy. Please try again later."}スロットリング応答をカスタマイズするには、次のフォーマットを使用します:{ "result": "==Enter your custom response content here==", "tips": "ok", "resultStatus": 1000, }ここで、
resultは JSON 形式のカスタム応答データです。クライアントはresultStatusが 1000 の場合にのみ、このフィールドを処理します。tipsはカスタムのスロットリングメッセージです。resultStatusが 1002 の場合、このフィールドはユーザーへの通知に使用されます。resultStatusはスロットリングされたリクエストに対して返される結果コードです。結果コードの定義の詳細については、「ゲートウェイの結果コード」をご参照ください。
アプリケーションの合計レート制限
現在のアプリケーション内のすべての API に対して、合計レート制限を設定できます。リクエストの合計数がこの制限を超えると、それ以降のアプリケーション内のすべての API へのリクエストはスロットリングされます。
手順:
[アプリの合計トラフィック制限] スイッチをオンにします。
アプリケーションの合計レート制限設定ボックスで [編集] をクリックし、レート制限情報を設定します。
合計レート制限:ビジネスニーズに基づいて、1 秒あたりのリクエスト数で適切なしきい値を設定します。この値を超えたリクエストはスロットリングされます。
トラフィック制限の応答:スロットリングされたリクエストに対するデフォルトの応答は次のとおりです:
{"resultStatus":1002,"tips":"The server is busy. Please try again later."}スロットリング応答をカスタマイズするには、次のフォーマットを使用します:{ "result": "==Enter your custom response content here==", "tips": "ok", "resultStatus": 1000, }場所:
resultは JSON 形式のカスタム応答データです。クライアントはresultStatusが 1000 の場合にのみ、このフィールドを処理します。resultStatusはスロットリングされたリクエストに対して返される結果コードです。結果コードの定義の詳細については、「ゲートウェイの結果コード」をご参照ください。tipsはカスタムのスロットリングメッセージです。resultStatusが 1002 の場合、このフィールドはユーザーへの通知に使用されます。