Java 與 DAX - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Java 與 DAX

適用於 Java 2.x 的 DAX 開發套件與適用於 Java 2.x 的AWS 開發套件相容。它以 Java 8+ 為基礎建置,並支援非封鎖 I/O,如需將 DAX 與 Java 1.x AWS 版 SDK 搭配使用的相關資訊,請參閱 搭配適用於 Java 1.x 的 AWS 開發套件使用 DAX

使用用戶端作為 Maven 依存項目

遵循這些步驟,在您的應用程式中將 DAX SDK for Java 用戶端做為依存項目使用。

  1. 下載並安裝 Apache Maven。如需詳細資訊,請參閱下載 Apache Maven安裝 Apache Maven

  2. 將用戶端 Maven 依存項目新增至您應用程式的專案物件模型 (POM) 檔案。在此範例中,將 x.x.x 取代為用戶端的實際版本號碼。

    <!--Dependency:--> <dependencies> <dependency> <groupId>software.amazon.dax</groupId> <artifactId>amazon-dax-client</artifactId> <version>x.x.x</version> </dependency> </dependencies>

TryDax 範例程式碼

在設定工作空間並將 DAX 開發套件新增為依存項目之後,請將 TryDax. 爪哇 複製到您的專案中。

使用此命令運行程式碼。

java -cp classpath TryDax

您應該會看到類似下列的輸出。

Creating a DynamoDB client Attempting to create table; please wait... Successfully created table. Table status: ACTIVE Writing data to the table... Writing 10 items for partition key: 1 Writing 10 items for partition key: 2 Writing 10 items for partition key: 3 ... Running GetItem and Query tests... First iteration of each test will result in cache misses Next iterations are cache hits GetItem test - partition key 1-100 and sort keys 1-10 Total time: 4390.240 ms - Avg time: 4.390 ms Total time: 3097.089 ms - Avg time: 3.097 ms Total time: 3273.463 ms - Avg time: 3.273 ms Total time: 3353.739 ms - Avg time: 3.354 ms Total time: 3533.314 ms - Avg time: 3.533 ms Query test - partition key 1-100 and sort keys between 2 and 9 Total time: 475.868 ms - Avg time: 4.759 ms Total time: 423.333 ms - Avg time: 4.233 ms Total time: 460.271 ms - Avg time: 4.603 ms Total time: 397.859 ms - Avg time: 3.979 ms Total time: 466.644 ms - Avg time: 4.666 ms Attempting to delete table; please wait... Successfully deleted table.

記下計時資訊:GetItemQuery 測試所需要的毫秒數。在此例中,您已針對 DynamoDB 端點執行程式。您將再次執行該程式,但此次針對的是您的 DAX 叢集。

若要判斷您 DAX 叢集的端點,請選擇下列其中一個項目:

  • 在 DynamoDB 主控台中,選取您的 DAX 叢集。叢集端點會在主控台中顯示,如以下範例。

    dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
  • 使用 AWS CLI,輸入下列命令:

    aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"

    叢集端點地址、連接埠和 URL 會在輸出中顯示,如以下範例所示。

    { "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }

現在重新執行程式,但這一次,請將叢集端點 URL 作為命令列參數指定。

java -cp classpath TryDax dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

查看輸出,並記下計時資訊。使用 DAX 的 GetItemQuery 已耗用時間應遠低於使用 DynamoDB 的已耗用時間。

軟體開發套件指標

使用適用於 Java 2.x 的 DAX SDK,您可以收集有關應用程式中服務用戶端的指標,並在 Amazon CloudWatch 中分析輸出。如需詳細資訊,請參閱啟用 SDK 指標

注意

適用於 Java 的 DAX 開發套件僅會收集 ApiCallSuccessfulApiCallDuration 指標。