DAX SDK for Go - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DAX SDK for Go

按照此过程操作,在 Amazon EC2 实例上运行 Amazon DynamoDB Accelerator (DAX) SDK for Go 示例应用程序。

为 DAX 运行 SDK for Go 示例
  1. 在 Amazon EC2 实例设置 SDK for Go:

    1. 安装 Go 编程语言 (Golang)。

      sudo yum install -y golang
    2. 测试 Golang 是否已安装且运行正常。

      go version

      应该显示类似下面的消息。

      go version go1.15.5 linux/amd64

      其余指令依赖 Go 版本 1.13 默认的模块支持。

  2. 安装 Golang 示例应用程序。

    go get github.com/aws-samples/aws-dax-go-sample
  3. 运行以下 Golang 程序。第一个程序创建一个名为 TryDaxGoTable 的 DynamoDB 表。第二个程序向表中写入数据。

    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command create-table
    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command put-item
  4. 运行以下 Golang 程序。

    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command get-item
    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command query
    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command scan

    记下计时信息—GetItemQueryScan 测试所需的时间(以毫秒为单位)。

  5. 在上一步中,您已针对 DynamoDB 端点运行程序。现在,重新运行这些程序,但此次,GetItemQueryScan 操作将由 DAX 集群处理。

    要确定 DAX 集群的端点,请选择下列选项之一:

    • 使用 DynamoDB 控制台 — 选择 DAX 集群。集群端点显示在控制台中,如下面的示例所示。

      dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
    • 使用 Amazon CLI — 输入下面的命令。

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

      集群端点显示在输出中,如下面的示例所示。

      { "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" }

    现在再次运行这些程序,但这次将集群端点指定为命令行参数。

    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command get-item -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111
    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command query -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111
    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dax -command scan -endpoint my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com:8111

    查看输出的其余内容,并记下计时信息。与 DynamoDB 相比,使用 DAX 时,GetItemQueryScan 的运行时间应明显更短。

  6. 运行以下 Golang 程序以删除 TryDaxGoTable

    go run ~/go/pkg/mod/github.com/aws-samples/aws-dax-go-sample@v1.0.2/try_dax.go -service dynamodb -command delete-table