静的コンテンツ (つまり、画像) 用の貧弱なアプリケーション レベルのロード バランサを作成することを考えています。これが最善の方法であるかどうか疑問に思っていました。コードで説明しましょう:
サンプル HTML ページ:
<html>
<body>
<?=load_image('filename.jpg');
</body>
</html>
PHP のサンプル コード:
<?php
function load_image ($file)
{
$server = get_current_server();
update_next_server($server);
return '<img src="'.$server.$file.'" />';
}
function update_next_server ($server)
{
$a[1] = 'server1.com';
$a[2] = 'server2.com';
$a[3] = 'server3.com';
$server_id = array_search($server, $a); // example: if $server = 'server2.com' then this will return 2;
// increment next server id
$server_id = $server_id + 1;
// prevent going beyond valid server ids
if ($server_id >= 3)
$server_id = 1;
$db->query('UPDATE tbl_next_server SET server_id = "'.$server_id.'" ');
}
function get_current_server ()
{
return $db->query('SELECT server_id FROM tbl_next_server');
}
基本的に、これは同じ画像が3つのサーバーすべてに保存されていることを前提としており、ページが表示されるたびにサーバーを回転させます.
今私の質問は、これがこれを行うための最良の方法ですか、それともより良い方法がありますか?