Java 和 DAX
适用于 Java 的 DAX SDK 2.x 兼容适用于 Java 的 AWS SDK 2.x。它基于 Java 8+ 构建,支持非阻塞 I/O。有关使用适用于 Java 的 AWS SDK 1.x 的信息,请参阅 使用 DAX 和 AWS SDK for Java 1.x
将客户端用作 Maven 依赖项
按照这些步骤,在应用程序使用适用于 Java 的 DAX SDK 客户端作为依赖项。
-
下载并安装 Apache Maven。有关更多信息,请参见下载 Apache Maven
和安装 Apache Maven 。 -
将客户端 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 SDK 添加为依赖项后,将 TryDax.java 复制到项目。
使用此命令运行代码。
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.
记下计时信息—GetItem
和 Query
测试所需的时间(以毫秒为单位)。在此情况下,对 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" }
现在重新运行程序,但这一次将集群端点指定为命令行参数。
java -cp
classpath
TryDax dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
查看输出,并记下计时信息。与使用 DynamoDB 相比,使用 DAX 时,GetItem
和 Query
的运行时间应明显更短。
开发工具包指标
使用适用于 Java 的 DAX SDK 2.x,可以收集应用程序中服务客户端的指标,并在 Amazon CloudWatch 中分析输出。有关更多信息,请参见启用 SDK 指标。
注意
适用于 Java 的 DAX SDK 仅收集 ApiCallSuccessful
和 ApiCallDuration
指标。