MySQL リマッププラグイン¶
注釈
This plugin is deprecated as of v9.0.0, and should not be used! The issue is around the blocking APIs used here; If this functionality is needed, you will need to implement it using something non-blocking, such as REDIS.
これはデータベースをもとに動的な"リマップ"を行うための基本的なプラグインです。本質的には届いたリクエストの Host ヘッダーを書き換えます / オリジンサーバーの接続をデータベースから取得したものに。
一般的なプロキシーのセットアップは次のとおりです
UA ----> Traffic Server ----> Origin Server
このプラグインを使わない場合のリクエストはこの様になります
GET /path/to/something HTTP/1.1
Host: original.host.com
最終的には http://original.host.com/path/to/something
にリクエストします。
このプラグインを有効化すると、どこでも望んだ場所に簡単に変更できます。多くの可能性を想像してください....
私たちは ab でこのプラグインのベンチマークを行い、汎用のハードウェアに MySQL と Traffic Server をどちらもローカルにセットアップした環境で 約 9200 リクエスト / 秒 (1.7k オブジェクト ) となりました。実際のパフォーマンスは十分に高く、MySQL の最大クエリー / 秒次第です。
インストール¶
このプラグインはビルド時の設定オプションに
--enable-experimental-plugins
が与えられている場合にのみビルドされます。
設定¶
作成したデータベースへのデフォルトスキーマを取り込みます
mysql -u root -p -e "CREATE DATABASE mysql_remap;" # create a new database
mysql -u root -p mysql_remap < schema/import.sql # import the provided schema
mysql_remap.hostname と mysql_remap.map に興味深い値を入れます
Traffic Server プラグイン設定はグローバル設定ファイル :file: /etc/trafficserver/plugin.config
で完了します
mysql_remap.so /etc/trafficserver/mysql_remap.ini
INI ファイルは次の値を含むべきです
[mysql_remap]
mysql_host = localhost #default
mysql_port = 3306 #default
mysql_username = remap_user
mysql_password =
mysql_database = mysql_remap #default
エラーをデバッグするために、Traffic Server を手動で次のように開始してください:
traffic_server -T "mysql_remap"
そして表示されたエラーや警告を解決してください。