Skip to content

Instantly share code, notes, and snippets.

@masahitojp
Created June 28, 2012 01:59
Show Gist options
  • Select an option

  • Save masahitojp/3008240 to your computer and use it in GitHub Desktop.

Select an option

Save masahitojp/3008240 to your computer and use it in GitHub Desktop.

SEDA: 健全でスケーラブルなインターネットサービス用のアーキテクチャ

概要

我々は、staged event-driven architecture (SEDA)と呼ばれる、高度に並列なインターネットサービス用のの新しいデザインを提案する。 SEDAは、大規模な同時実行の要求をサポートし,健全なサービスの仕組みを簡素化することを意図しています。 SEDAは、アプリケーションが明示的にキューで接続されたイベントドリブンのステージネットワークで構成されています。 このアーキテクチャはサービスが健全にロードできるようにし、サービスの限度を超えた要求がオーバーコミットされた場合にリソースを抑えることができます。 SEDAは、負荷の大きな変動にもかかわらず、それらの動作領域内での段階を維持するための動的リソースコントローラのセットを使用しています。 我々は、スレッドプールのサイジング、イベントバッチ処理、および適応負荷削減を含む自動チューニングと負荷調整のためにいくつかの制御メカニズムを説明します。 我々はSEDAの設計と、このアーキテクチャに基づいてインターネット·サービス·プラットフォームの実装を提示します。 高性能HTTPサーバやGnutellaピア·ツー·ピア·ファイル共有ネットワーク用パケットルータ:我々は、2つのアプリケーションを介してSEDAを評価します。 これらの結果はSEDAアプリケーションは従来のサービスの設計よりも高い性能を発揮し、負荷の大きな変動に頑健であることを示しています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment