複数の MySQL サーバーに接続し、アプリケーション レベルの負荷分散を提供するカスタム PHP MySQL ライブラリを作成しています。基本的に、一連のサーバー (すべてのサーバー) に接続しようとし、最初に接続に成功したサーバーが勝ちます。
問題は、私の人生では、mysql
またはmysqli
PHP ライブラリを使用して、非同期に接続する方法、つまりコールバックを使用する方法が見つからないことです。明らかに、接続の試行ごとにブロックしたくありません。そうしないと、ライブラリがタイムアウトになるまで待機してから、次のサーバーを試す必要があります。
次のように動作するはずです。
foreach($servers as $server) {
mysql_async_connect($server, function($connection) {
if($connection) {
//Use this connection, successful
}
}
}
これはどのように可能ですか?MySQL に接続するための非同期 PHP ライブラリを作成した人はいますか? ありがとう。