Swoole MySQL プロキシ
MySQL プロトコルに基づいて Swoole によって開(kāi)発された MySQL データベース接続プール。
原則
データベース接続をオブジェクトとしてメモリに保存します。ユーザーがデータベースにアクセスする必要があるときに、初めて接続が確立されます。後で、新しい接続を確立するのではなく、確立されたアイドル狀態(tài)の接続オブジェクト。使用後、ユーザーは接続を閉じず、次のリクエストに備えて接続を接続プールに戻します。接続の確立と切斷は、接続プール自體によって管理されます。
同時(shí)に、接続プール內(nèi)の接続の初期數(shù)、接続の上限と下限、各接続の最大使用數(shù)、最大アイドル時(shí)間などを制御することもできます。接続プールのパラメータを設(shè)定します。獨(dú)自の管理メカニズムを通じてデータベース接続の數(shù)や使用狀況などを監(jiān)視することもできます。最大接続數(shù)を超えると、コルーチンは一時(shí)停止され、接続が閉じられて操作が継続されるまでコルーチンは再開(kāi)されます。
特長(zhǎng)
読み取りと書(shū)き込みの分離をサポート PHP によって引き起こされるデータベース接続のボトルネックを効果的に解決できるデータベース接続プールをサポート SQL92 標(biāo)準(zhǔn)をサポートし、コルーチン スケジューリングを使用して複數(shù)のデータベース接続をサポート個(gè)々のユーザー、柔軟な組み合わせと MySQL ネイティブ プロトコルへの準(zhǔn)拠、クロス言語(yǔ)、クロスプラットフォームの一般的なミドルウェア エージェントのサポート MySQL トランザクションのサポート HandshakeV10 プロトコル バージョンは MySQL4.1 ~ 8.0 と完全に互換性があり、主要なフレームワークと互換性があります。シームレスにパフォーマンスを向上
設(shè)計(jì)本來(lái)の目的
PHP には接続プールがないため、同時(shí)実行性が高い場(chǎng)合、データベースは接続でいっぱいになります。Mycat などのデータベース ミドルウェアにより、一部の SQL が一括追加がサポートされていない、肥大化しているなど使い物にならない。そこで私は、接続プーリングと読み取り/書(shū)き込み分離のみをサポートするこの軽量ミドルウェアを作成しました。Swoole コルーチン スケジューリングと HandshakeV10 プロトコル転送を使用すると、プログラムがより安定します。Mycat のようなすべての SQL パッケージ本體を解析する必要はありませんが、これにより複雑さが増します。
開(kāi)発とディスカッション
ドキュメント:https://smproxy.louislivi.com
ブロックされている場(chǎng)合は、こちらにアクセスしてください:https :/ /smproxy.gitee.louislivi.com
QQ グループ: 722124111 あらゆるタイプの問(wèn)題とプル リクエストを歓迎します。
寄稿者リスト