タグ

traffic-shapingとnetwork-engineeringに関するnabinnoのブックマーク (3)

  • APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記

    この記事はSmartHR Advent Calendar 2020 11日目の記事です。 僕のお手伝いしているSmartHRでは、毎週バックエンドエンジニアが集まり、技術的なトピックについて共有、相談しあうミーティングを開催しています。そのミーティングでは僕がTipsなどを共有するコーナーが常設されています*1。 このエントリでは、そのコーナーで共有した内容をひとつ紹介します。 APIに制限をかける方法について APIを外部に提供するとき、一定の制限をかけてユーザがAPIを乱用するのを防ぐことはよくあることではないでしょうか。素直に考えると「1時間に5000回までAPIを実行できる」のようなやり方を思いつきますね。GitHubAPIもそのやり方ですし、SmartHRAPIも同様です。 じゃあそれでいいのでは。となるかもしれませんが少し待ってください。いろんなクライアントがAPIを大量に

    APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記
  • トラフィックシェーピング - Wikipedia

    トラフィックシェーピング(英: Traffic shaping)とは、コンピュータネットワークのトラフィック(通信量)を制御し、パケットを遅延させることで通信性能を最適化/保証し、レイテンシを低減し、帯域幅を確保することである[1]。パケットシェーピングともいう。 概要[編集] より具体的には、パケット群(ストリームあるいはフローともいう)に遅延を加えて、事前に定義された制約に従うようにする操作である[2]。トラフィックシェーピングはコンピュータネットワークに送り込まれるトラフィックを制御する手段を提供するもので、ある期間ごとに制限する方式(帯域幅調整)、最大転送レートを制限する方式(レート制限)、GCRAのようなもっと複雑な方式がある。方式や目的は様々だが、トラフィックシェーピングは常にパケットの遅延で実現される。一般にネットワークの端点でネットワークに流入させるトラフィックを制御するが

  • リーキーバケット - Wikipedia

    リーキーバケット(英: leaky bucket)とは、トラフィックシェーピングなどで使われるアルゴリズムである。一般にこのアルゴリズムはネットワークに注入されるデータの転送レートを制御するのに使われ、データ転送レートの「バースト性」を平準化する。 なお、バケット (bucket) とは、バケツのことであり、転送すべきネットワークトラフィックを集積する抽象化されたコンテナである(実装は例えばバッファやキュー)。 トラフィックシェーピングのアルゴリズム[編集] トラフィックシェーピングではリーキーバケットのほかにトークンバケットというアルゴリズムもよく利用する。この2つは誤って混同されやすい。これらは性質も異なり、目的も異なる[1]。大きな違いは、リーキーバケットがデータ転送レートの上限を設定するのに対して、トークンバケットはデータ転送レートの平均に制限を課して、ある程度のバースト性を許容す

  • 1