ここでは主に、TencentDB for MySQLデータベースプロキシサービスの自動読み取り/書き込み分離、機能上のメリット、読み取り/書き込み分離ルートのルールについてご紹介します。
現在、多くのライブネットワークユーザーのビジネスシナリオには、読み取りの増加と書き込みの減少、予測できない業務の負荷といったシナリオがあります。ただし、読み取りリクエスト数が多いアプリケーションシナリオでは、単一のインスタンスが読み取りのプレッシャーに耐えられない場合があり、業務に影響を与える可能性もあります。読み取り機能のフレキシブルな拡張を実現し、データベースのプレッシャーを分担するために、1つまたは複数の読み取り専用インスタンスを作成し、読み取り専用インスタンスを利用して多数のデータベース読み取り要件を満たすことができます。ただし、このタイプのソリューションでは、業務側が読み取り/書き込み分離の変換をサポートする必要があります。そのコードのロバストネスによって、ビジネスの読み取り/書き込み分離の品質が決まるため、顧客に対する技術的要件が高く、柔軟性とスケーラビリティが低くなります。
読み取り専用インスタンスの作成後、データベースプロキシを購入することでアクセスアドレスポリシーを構成することができます。データベースプロキシアドレスをアプリケーションで設定することによって、書き込みリクエストをマスターインスタンスに、読み取りリクエストを各読み取り専用インスタンスに自動的に転送できます。さらに、次のように、他の業務上の問題点に自然なソリューションを提供することもできます:
予測不可能または不規則な変動による負荷/負荷の「急増」現象が明確なケース
インターネットビジネスシーンにおける作業負荷とアクセス負荷は、多くの場合に予測ができず、不安定で、頻繁に変動と「急増」が発生しやすくなります。ビジネス側でデータベースへの短時間のアクセスを大量に実施した場合、これらのケースでは大量の新規接続が発生しやすくなります。すなわち、データベースとアプリケーション間の接続数が、ビジネスアクセスの負荷の頻繁な変更によって、変動しやすくなります。また、このケースは多くの場合に事前に予測することが困難です。
データベース専用プロキシの接続管理により、お客様がデータベース接続を効果的に再利用できるようにして、予測できないワークロードを処理するアプリケーションを適切に拡張することができます。まず、データベース接続を複数のアプリケーション接続で共有することによって、データベースリソースを効果的に利用することができます。次に、開かれているデータベース接続の数を調整することにより、お客様が予測可能なデータベースパフォーマンスを維持できるようにします。第三に、利用できないアプリケーションリクエストを削除して、アプリケーションの全体的なパフォーマンスと可用性を維持します。
アプリケーションとデータベースが頻繁に接続の確立と切断を繰り返すケース
サーバーレス、PHPまたはRuby on Railsなどの技術をベースとして構築されたアプリケーションは、データベース接続を頻繁にオン・オフすることで、アプリケーションのリクエストに応じることがあります。
データベース専用プロキシは、お客様がデータベース接続プールを維持して、データベースの計算と新しい接続の確立のために使用されるメモリに不必要なプレッシャーを与えないようにするのに役立ちます。
データベースのアクセスと接続が長時間アイドル状態で、リリースされないケース
SaaSまたはeコマース業界における従来のアプリケーションは、お客様が再接続するときの応答時間を最小限に抑えるために、データベース接続をアイドル状態に保つ場合があります。お客様は専用のデータベースプロキシを使用して、アイドル状態の接続を維持します。多くのアイドル接続をサポートするためのしきい値の過剰な調整や、より高度な構成のデータベース提供などをすることなく、必要な場合にのみデータベース接続を確立することができます。
データベースのPaaSサービスがフェイルオーバーしたケースにおけるスムーズさと安定性を向上
ユーザーはデータベース専用プロキシを使用すると、複雑なフェイルオーバーコードを記述せずに、データベースのフェイルオーバー(アクティブ/パッシブ)を透過的に許容できるアプリケーションを構築することができます。データベース専用プロキシは、読み取りトラフィックを新しいデータベースインスタンスに自動的にルートしながら、アプリケーション接続を維持します。
この記事はお役に立ちましたか?