Spring Data JDBC for ScalarDB を使用した ScalarDB Cluster SQL をはじめよう
注記
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このチュートリアルでは、Spring Data JDBC for ScalarDB を介して ScalarDB Cluster SQL を使用してサンプルアプリケーションを作成する方法について説明します。
このサンプルアプリケーションの前提条件
- Eclipse Temurin の OpenJDK LTS バージョン (8、11、17、または 21)
- Kubernetes クラスターで実行されている ScalarDB Cluster
- ScalarDB Cluster をローカルにデプロイする方法 の手順に従ってデプロイした Kubernetes クラスターで ScalarDB Cluster が実行されていることを前提としています。
注記
このサンプルアプリケーションは、Eclipse Temurin の OpenJDK でテストされています。ただし、ScalarDB 自体は、さまざまなベンダーの JDK ディストリビューションでテストされています。互換性のある JDK ディストリビューションを含む ScalarDB の要件の詳細については、要件を参照してください。
サンプルアプリケーション
このチュートリアルでは、Spring Data JDBC for ScalarDB を使用して、クレジットラインでアイテムを注文して支払うことができるサンプル電子商取引アプリケーションを作成するプロセスについて説明します。
次の図は、サンプルアプリケーションのシステムアーキテクチャを示しています。
+------------------------------------------------------------------------------------------------------------------------------+
| [Kubernetes クラスター] |
| |
| [ポッド] [ポッド] [ポッド] |
+------------------------+ | |
| SQL CLI | | +-------+ +------------------------+ |
| (間接クライアントモード) | --+ | +---> | Envoy | ---+ +---> | ScalarDB Cluster ノード | ---+ |
+------------------------+ | | | +-------+ | | +------------------------+ | |
| | | | | | |
| | +---------+ | +-------+ | +--------------------+ | +-----------------------+ | +------------+ |
+--+-> | サービス | ---+---> | Envoy | ---+---> | サービス | ---+---> | ScalarDB Cluster ノード | ---+---> | PostgreSQL | |
+------------------------+ | | | (Envoy) | | +-------+ | | (ScalarDB Cluster) | | +-----------------------+ | +------------+ |
| Spring Data JDBC for | | | +---------+ | | +--------------------+ | | |
| ScalarDB の | | | | +-------+ | | +------------------------+ | |
| サンプルアプリケーション | --+ | +---> | Envoy | ---+ +---> | ScalarDB Cluster ノード | ---+ |
| (間接クライアントモード) | | +-------+ +-----------------------+ |
+------------------------+ | |
+------------------------------------------------------------------------------------------------------------------------------+
ステップ 1. ScalarDB サンプルリポジトリをクローンする
git clone https://github.com/scalar-labs/scalardb-samples.git
cd scalardb-samples/spring-data-sample
ステップ 2. scalardb-sql.properties
を変更する
ScalarDB Cluster に接続するには、scalardb-sql.properties
も変更する必要があります。ただし、その前に、次のように Envoy (scalardb-cluster-envoy
) のサービスリソースの EXTERNAL-IP
アドレスを取得する必要があります。
kubectl get svc scalardb-cluster-envoy
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
scalardb-cluster-envoy LoadBalancer 10.105.121.51 localhost 60053:30641/TCP 16h