本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DAX 适用于 Go 的软件开发工具包
按照此过程操作可在 Amazon EC2 实例上运行 Amazon DynamoDB Accelerator (DAX) 适用于 Go 的软件开发工具包 示例应用程序。
运行 DAX 的 适用于 Go 的软件开发工具包 示例
-
在您的 Amazon EC2 实例上设置 适用于 Go 的软件开发工具包:
-
安装 Go 编程语言 (
Golang
)。sudo yum install -y golang
-
设置
GOPATH
环境变量。# GOROOT is the location where Go package is installed on your system export GOROOT=/usr/lib/golang # GOPATH is the location of your work directory export GOPATH=$HOME/projects # PATH in order to access go binary system wide export PATH=$PATH:$GOROOT/bin
注意 上述命令仅为当前会话设置环境变量。要使这些设置成为永久设置,请在
~/.bash_profile
文件中添加命令。 -
测试 Golang 是否已安装且运行正常。
go version
将会出现以下消息。
go version go1.9.6 linux/amd64/
-
-
安装 DAX Golang 客户端。
go get github.com/aws/aws-dax-go
-
安装 Golang 示例应用程序。
go get github.com/aws-samples/aws-dax-go-sample
-
运行以下 Golang 程序。第一个程序创建一个名为 DynamoDB 的
TryDaxGoTable
表。 第二个程序将数据写入表。go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command create-table
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command put-item
-
运行以下 Golang 程序。
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command get-item
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command query
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command scan
记下计时信息 -
GetItem
、Query
和Scan
测试所需的时间(以毫秒为单位)。 -
在上一步中,您已针对 DynamoDB 终端节点运行程序。现在,重新运行这些程序,但此次,
GetItem
、Query
和Scan
操作将由 DAX 集群处理。要确定 DAX 集群的终端节点,请选择下列选项之一:
-
使用 DynamoDB 控制台 — 选择您的 DAX 集群。集群终端节点将显示在控制台中,如下例所示。
mycluster.frfx8h.clustercfg.dax.usw2.amazonaws.com:8111
-
使用 AWS CLI — 输入以下命令。
aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"
集群终端节点端口和地址显示在输出中,如下例中所示。
{ "Port": 8111, "Address":"mycluster.frfx8h.clustercfg.dax.usw2.amazonaws.com" }
现在重新运行这些程序,但这一次将集群终端节点指定为命令行参数。
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dax -command get-item -endpoint mycluster.frfx8h.clustercfg.dax.usw2.amazonaws.com:8111
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dax -command query -endpoint mycluster.frfx8h.clustercfg.dax.usw2.amazonaws.com:8111
go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dax -command scan -endpoint mycluster.frfx8h.clustercfg.dax.usw2.amazonaws.com:8111
查看输出的其余内容,并记下计时信息。与使用 DynamoDB 相比,使用 DAX 时,
GetItem
、Query
和Scan
的运行时间应明显更短。 -
-
运行以下 Golang 程序以删除
TryDaxGoTable
.go run $GOPATH/src/github.com/aws-samples/aws-dax-go-sample/try_dax.go -service dynamodb -command delete-table