1

たとえば、API バンドル内に 3 つの異なるフロー (フロー A、フロー B、フロー C など) があり、それらはすべて QuotaLimitPolicy という名前の同じ Quota ポリシーを参照します。特定の識別子に対して別々のカウンターを本当に使用していますか?

 Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 1
 Flow B is executed -> QuotaLimitPolicy is executed.  Result: "B counter" = 1
 Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 1 +1 = 2
 Flow C is executed -> QuotaLimitPolicy is executed.  Result: "C counter" = 1
 Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 2 +1 = 3

より一般的には、識別子に加えてクォータ カウンターを区別するものは何ですか?

4

2 に答える 2

2

たとえば、以下の 1 つの API バンドルのサンプルでは、​​本当に 3 つの個別のカウンターが維持されているのでしょうか?

Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 1
Flow B is executed -> QuotaLimitPolicy is executed.  Result: "B counter" = 1
Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 1 +1 = 2
Flow C is executed -> QuotaLimitPolicy is executed.  Result: "C counter" = 1
Flow A is executed -> QuotaLimitPolicy is executed.  Result: "A counter" = 2 +1 = 3

いいえ、1 つだけが維持されます。バンドル内では、同じポリシーへのすべての参照が同じカウンターを使用します。上記の例では、QuotaLimitPolicy は実際には、特定の識別子に対する単一のカウンターです。したがって、単一の識別子 (たとえば、client_id = 10.10.10.10) の場合、上記のチェーンは、QuotaLimitPolicy の実行ごとに 1 つの、値が 5 の単一のカウンターになります。

より一般的には、識別子に加えてクォータ カウンターを区別するものは何ですか?

区別は、API バンドルごとのポリシー名レベルにあります。同じバンドル内のさまざまなフローに対して個別のカウンターを作成する場合は、異なる「name=」属性を使用して個別のポリシーを作成する必要があります。さらに、クォータ ポリシーを使用して、特定の環境の複数の API バンドルで 1 つのクォータ カウンターを共有できるとは思えません。

これらは良し悪しではなく、ソリューション設計に反映されるように意識していきたいです。

于 2014-02-06T22:38:14.133 に答える
0

さらに、クォータ ポリシーを使用して、特定の環境の複数の API バンドルで 1 つのクォータ カウンターを共有できるとは思えません。

Quota を API 製品とともに使用することで、API プロキシ間で Quota カウンターを共有できるはずです。API 製品から設定をインポートするように Quota ポリシーを設定し、API 製品に 2 つ以上の API プロキシからの API リソースを含める場合、カウンタはそれら 2 つのプロキシ間で共有される必要があります。

こちらの「動的クォータ設定」を参照してください: http://apigee.com/docs/api-services/content/rate-limit-api-traffic-using-quota

それがまさにあなたが探しているものかどうかはわかりませんが、お役に立てば幸いです。

于 2014-02-07T14:24:10.470 に答える