sql >> データベース >  >> RDS >> PostgreSQL

クラウドでのPostgreSQLの負荷分散が簡単に

    データベーストポロジでロードバランサーを使用する利点については、何度も説明しました。トラフィックを正常なデータベースノードにリダイレクトしたり、トラフィックを複数のサーバーに分散してパフォーマンスを向上させたり、アプリケーションで単一のエンドポイントを構成して構成とフェイルオーバーのプロセスを容易にしたりする場合があります。

    新しいClusterControl1.7.6バージョンでは、PostgreSQLクラスターをクラウドに直接デプロイできるだけでなく、同じジョブにロードバランサーをデプロイすることもできます。このため、ClusterControlは、クラウドプロバイダーとしてAWS、Google Cloud、Azureをサポートしています。この新機能を見てみましょう。

    新しいデータベースクラスターの作成

    この例では、サポートされているクラウドプロバイダーのいずれかでアカウントを持っており、ClusterControl1.7.6インストールで資格情報を構成していることを前提としています。

    構成していない場合は、ClusterControl->統合->クラウドプロバイダー->クラウドクレデンシャルの追加に移動する必要があります。

    ここでは、クラウドプロバイダーを選択し、対応する情報を追加する必要があります。

    この情報は、クラウドプロバイダー自体によって異なります。詳細については、公式ドキュメントを確認してください。

    何かを作成するためにクラウドプロバイダー管理コンソールにアクセスする必要はありません。仮想マシン、データベース、ロードバランサーをClusterControlから直接デプロイできます。デプロイセクションに移動し、[クラウドにデプロイ]を選択します。

    新しいデータベースクラスターのベンダーとバージョンを指定します。この場合、PostgreSQL12を使用します。

    ノード数、クラスター名、資格情報などのデータベース情報を追加し、サーバーポート。

    クラウドのクレデンシャルを選択します。この場合は、AWSを使用しますアカウント。まだClusterControlにアカウントを追加していない場合は、このタスクのドキュメントに従うことができます。

    次に、オペレーティングシステム、サイズ、および地域。

    次のステップでは、データベースクラスターにロードバランサーを追加できます。 PostgreSQLの場合、ClusterControlはロードバランサーとしてHAProxyをサポートします。ロードバランサーノードの数、インスタンスサイズ、およびロードバランサー情報を選択する必要があります。

    このロードバランサーの情報は次のとおりです。

    • リッスンポート(読み取り/書き込み):読み取り/書き込みトラフィック用のポート。
    • リッスンポート(読み取り専用):読み取り専用トラフィック用のポート。
    • ポリシー:次のようになります:
      • lessonconn:接続数が最も少ないサーバーが接続を受信します
      • ラウンドロビン:各サーバーは、その重みに応じて順番に使用されます
      • source:送信元IPアドレスがハッシュされ、実行中のサーバーの総重量で除算されて、リクエストを受信するサーバーを指定します

    これで、概要を確認して展開できます。

    ClusterControlは仮想マシンを作成し、ソフトウェアをインストールして構成します。すべて同じ仕事で無人の方法で。

    ClusterControlアクティビティセクションで作成プロセスを監視できます。完了すると、ClusterControlのメイン画面に新しいクラスターが表示されます。

    ロードバランサノードを確認する場合は、ClusterControlにアクセスできます。 ->ノード->HAProxyノード、および現在のステータスを確認します。

    [ダッシュボード]セクションを確認して、ClusterControlからHAProxyサーバーを監視することもできます。

    これで完了です。ここで、クラウドプロバイダー管理コンソールを確認できます。選択したClusterControlジョブオプションに従って作成された仮想マシンが見つかります。

    結論

    ご覧のとおり、クラウド内のPostgreSQLクラスターの前にロードバランサーを配置するのは、データベースとロードバランサーノードを同じジョブにデプロイできる新しいClusterControl「DeployintheCloud」機能を使用すると非常に簡単です。


    1. MySQL Binlogサーバーの探索–リップル

    2. sqliteは2MBを超えるフィールドを取得します

    3. MySQL ABS()関数–数値の絶対値を返します

    4. ExecuteBatchメソッドは、Javaで値-2の配列を返します