Apache Traffic Server-CDN向けのユニークなキャッシュプロキシサーバー

画像



かつて、人気のあるアメリカのサイトのロシア語版を立ち上げるというアイデアがありました。 少し考えてから、 examplesite.com- > examplesite-ru.comの形式の完全にインタラクティブなスキームを実装し、マシンにできるだけ多くの作業を行わせることにしました。



さまざまなプロキシサーバーを使用したいくつかの調査と実験により、興味深い製品、 Apache Traffic Serverが作成されました。



Traffic Serverは元々、Yahoo!が購入したInktomi Corporationによって作成されました。 2002年に。 長い間、この製品はYahoo!内と非常に大きなサイトの両方で商業的に積極的に使用されていました。 2009年以降、プロジェクトはソースコードを開いてApacheインキュベーターに転送し、2010年4月にApache Traffic Serverが登場しました。



ATSと他のキャッシュおよびバランシングサーバーとの比較の詳細については、 こちらを参照してください



ATSアーキテクチャは、スケーラビリティにおいてNgnix、HAproxy、Squidなどの同等のパフォーマンスより優れていると簡単に言いますが、リストされている各製品は特殊化されていますが、 ) 深刻な入札? 試す必要があります!



ATSをインストールする

その目新しさのために、プロジェクトのドキュメントには多くの要望が残されています。 豊富な設定ディレクティブ、etc /にある恐ろしいファイル、未完成のwiki、ステップバイステップのマニュアルの欠如が最初に怖がっていました。 しかし、その後、Yahoo!のTom Melendez による素晴らしいプレゼンテーションを見つけました。 そしてすべてが所定の場所に落ちました。



Centos 5.5 x64でさらに設定が行われました。



手順1. ATSディストリビューションをダウンロードします。

[root@Srv1 ~]# wget www.sai.msu.su/apache//trafficserver/trafficserver-2.1.5-unstable.tar.bz2







ステップ2.必要なライブラリの可用性を確認する

[root@Srv1 ~]# yum list autoconf automake libtool gcc-c++ glibc-devel openssl-devel tcl-devel expat-devel db4-devel pcre-devel







ステップ3.ほとんどの場合、いくつかのパッケージをインストールする必要があります。私の場合、tcl-develとpcre-develが必要でした。 このステップがないと、コンパイルは失敗します。 Debianベースのディストリビューションのユーザーの場合、コンポーネントのセットはわずかに異なり、READMEファイルに記述されています。



ステップ4.アーカイブを解凍し、ディレクトリに移動します

[root@Srv1 ~]# tar -xjf trafficserver-2.1.5-unstable.tar.bz2

[root@Srv1 ~]# cd trafficserver-2.1.5-unstable








ステップ5.コンパイルします。

デフォルトでは、テストに十分なプレフィックス== "/ usr / local"

[root@Srv1 trafficserver-2.1.5-unstable]# ./configure [--prefix=PREFIX]

[root@Srv1 trafficserver-2.1.5-unstable]# make install








ATSを構成する

トム・メレンデスの主な命令を思い出させてください:「私は本当に怠け者です!」

次に、タスクの設定について説明します。



手順1. /usr/local/etc/trafficserver/records.configを開きます

CONFIG proxy.config.proxy_name STRING examplesite-ru.com

CONFIG proxy.config.http.server_port INT 80

CONFIG proxy.config.reverse_proxy.enabled INT 1








ステップ2. /usr/local/etc/trafficserver/remap.config

map examplesite-ru.com/ examplesite.com/

reverse_map examplesite.com/ examplesite-ru.com/








ステップ3.好奇心から、/ usr / local / etc / trafficserver / storage.configを参照

そして、 var/trafficserver 256M



テストに十分な256 MBの小さなディスクを追加したことがわかります: var/trafficserver 256M







ATSを起動する

コマンドによってサービスが開始されます

[root@Srv1 ~]# /usr/local/bin/trafficserver







構成は次のコマンドで更新されます

[root@Srv1 ~]# /usr/local/bin/traffic_line -x







ビンゴ!

ご覧のとおり、起動には最小限の労力しか必要ありません。



私のテストサーバーは、Intel Atom 525をベースにした最小のコンピューターで作成されており、1 Mbpsの速度でインターネットチャネルに接続されています。 テストサイトのメインページのサイズは約85 kBです。 一意のセッションIDを生成するたびに(これにより、TeleportProサイトとさまざまなプロキシが常にst迷します)。



通常の非キャッシングリバースプロキシは、ページのダウンロードに約0.7秒しかかかりません。その後、戻り時に0.7秒、コンテンツの「プロキシ」にかかる時間を計算するのは簡単です。



ATSの場合、ページが完全にロードされるときの追加の遅延は1ラップあたり1秒より大幅に短く、プロセッサの負荷は単純に見えません。 あるいは、ATSを使用して直接サイトの読み込みを開始すると、プロキシが元のページよりも速くページを表示することが非常に多いことに気付きました! ご覧のとおり、CDNの役割を担っているYahooサーバーでの8年間の運用は無駄ではありませんでした。



最初に戻る

ウェブサイトのミラーを作成するというアイデアは誰にも驚くことではありませんが、私の計画では...を使用してテキストとグラフィックスをロシア語に自動翻訳するシステムで補完する必要があります... このようなシステムは、次を使用して接続できます。

HTTP変換プラグイン



All Articles