ホームページ  >  記事  >  バックエンド開発  >  GS Adminの電流制限機能の使い方を詳しく解説した記事

GS Adminの電流制限機能の使い方を詳しく解説した記事

藏色散人
藏色散人転載
2022-12-01 16:12:045986ブラウズ

この記事ではGS Adminの電流制限機能の使い方を紹介します GS Admin=gin scuiはgolangによって開発されたエンタープライズレベルのバックエンドです 使い方を見てみましょう~ そうなるといいですねみんなに役立つ。

GS Adminの電流制限機能の使い方を詳しく解説した記事

倉庫

giee: gitee.com/kevn/gsadmin/tree/master
github: github.com/sonhineboy/gsadmin

説明

ウェブサイトの日常の運用プロセスにおいて, 同時実行数がサービスのしきい値に達すると、電流制限を通じてサービスの可用性を確保できます。 [推奨: golang チュートリアル ]

一般的な電流制限方法:

1. バッファリングされた chann を使用し、chann が満杯の場合は、サービスを拒否するか、サービスを提供します。フレンドリーなプロンプトやフレンドリーなページへのジャンプなど。

2. カウンタは 10 秒以内に 100 リクエストのみを受け付けます。100 リクエストを超えるとサービスは拒否され、10 秒を超えるとカウントは 0 に戻り、再度リクエストが受け付けられます。

3. httpserver の頻度制限を使用します。自分で実装する必要はありません。

4. トークンバケットアルゴリズム: トークンを一定速度でトークンバケットに投入し、リクエストが来ると、後続のリクエストのためにトークンバケットからトークンを取得します。トークンの取得に失敗した場合は、フレンドリーな態度で対応してくれました。

GS Adminの電流制限機能の使い方を詳しく解説した記事

5. リーキーバケットアルゴリズム: リクエストは最初にリーキーバケットに入り、リーキーバケットは固定レートでリクエストを処理します。超過したリクエストはフレンドリーな方法で処理されますが、突然のリクエストのシナリオには適していません。

GS Adminの電流制限機能の使い方を詳しく解説した記事

上記 2 つのトークン アルゴリズムの違い: リーキー バケット アルゴリズムは送信速度を強制的に制限でき、トークン バケット アルゴリズムは平均送信速度を制限し、特定の送信速度を許可できます。バースト状態。

GS Admin の電流制限方法

GS Admin は golang を使用しており、非常に便利な電流制限時間/レートが golang.org/x/time/rate にあります。 具体的な使用方法公式ドキュメントに記載されています。 GS Admin は Web ミドルウェアをカプセル化しました。構成ファイルで適切なパラメータを設定するだけで済みます。

rate:
  limit: 15 //每秒产生得令牌数量
  burst: 2 //令牌得大小

テスト後、現在の制限を超えると、ミドルウェアがトリガーされます。コードは次のとおりです

りー

以上がGS Adminの電流制限機能の使い方を詳しく解説した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。