ロード バランシング
複数の FE ノードをデプロイする際、ユーザーは FEs の上にロード バランシング レイヤーをデプロイして、高可用性を実現できます。
以下は高可用性のオプションです。
コード アプローチ
1つの方法は、アプリケーション層でコードを実装してリトライとロード バランシングを行うことです。例えば、接続が切れた場合、他の接続で自動的にリトライします。このアプローチでは、ユーザーが複数の FE ノードのアドレスを設定する必要があります 。
JDBC コネクタ
JDBC コネクタは自動リトライをサポートしています。
jdbc:mysql:loadbalance://[host1][:port],[host2][:port][,[host3][:port]]...[/[database]][?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
ProxySQL
ProxySQL は、読み書きの分離、クエリルーティング、SQLキャッシング、動的ロード構成、フェイルオーバー、SQLフィルタリングをサポートする MySQL プロキシ レイヤーです。
StarRocks FE は接続とクエリリクエストを受け取る役割を担い、水平スケーラビリティと高可用性を備えています。ただし、FE は自動ロード バランシングを実現するために、その上にプロキシ レイヤーを設定する必要があります。設定手順は以下の通りです。
1. 関連する依存関係をインストール
yum install -y gnutls perl-DBD-MySQL perl-DBI perl-devel
2. インストール パッケージをダウンロード
wget https://github.com/sysown/proxysql/releases/download/v2.0.14/proxysql-2.0.14-1-centos7.x86_64.rpm