使用 Auto Discovery
如要开始使用 Auto Discovery,请遵循下述步骤:
步骤 1:获取配置终端节点
如要连接至某个集群,客户端程序必须知道集群的配置终端节点。请参阅主题查找集群的端点(控制台)。
您也可以使用带有 --show-cache-node-info
参数的 aws elasticache describe-cache-clusters
命令:
不论您使用什么方法查找集群的终端节点,配置终端节点的地址中始终有 .cfg。
例 使用适用于 ElastiCache 的 Amazon CLI 查找端点
对于 Linux、macOS 或 Unix:
aws elasticache describe-cache-clusters \ --cache-cluster-id
mycluster
\ --show-cache-node-info
对于 Windows:
aws elasticache describe-cache-clusters ^ --cache-cluster-id
mycluster
^ --show-cache-node-info
此操作将生成类似于以下内容的输出(JSON 格式):
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0001.use1.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1e"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0002.use1.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1a"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "mycluster",
"PreferredAvailabilityZone": "Multiple",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-10-12T21:39:28.001Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 2,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:",
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "sat:06:00-sat:07:00",
"CacheNodeType": "cache.r3.large"
}
]
}
步骤 2:下载 ElastiCache Cluster Client
如要利用 Auto Discovery,客户端程序必须使用 ElastiCache Cluster Client。ElastiCache Cluster Client 可用于 Java、PHP 和 .NET,其中包含适用于发现和连接至您的所有缓存节点所需的全部逻辑。
下载 ElastiCache Cluster Client
-
登录 Amazon 管理控制台并打开 ElastiCache 控制台 (https://console.aws.amazon.com/elasticache/
)。 在 ElastiCache 控制台上,选择 ElastiCache Cluster Client,然后选择 Download(下载)。
ElastiCache Cluster Client for Java 的源代码可在 https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java
注意
如要使用适用于 PHP 的 ElastiCache Cluster Client,您首先需要将其安装在您的 Amazon EC2 实例上。有关更多信息,请参阅安装适用于 PHP 的 ElastiCache Cluster Client。
对于支持 TLS 的客户端,请下载 PHP 版本 7.4 或更高版本的二进制文件。
若要使用适用于 .NET 的 ElastiCache Cluster Client,您首先需要将其安装在您的 Amazon EC2 实例上。有关更多信息,请参阅安装适用于 .NET 的 ElastiCache Cluster Client。
步骤 3:修改您的应用程序
修改您的应用程序,以便它可以使用 Auto Discovery。以下部分介绍了如何使用适用于 Java、PHP 和 .NET 的 ElastiCache Cluster Client。
重要
指定集群的配置终端节点时,请确保其地址中有 ".cfg",如此处所示。请勿使用 CNAME 或其中没有 ".cfg" 的终端节点。
"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
未明确指定集群的配置终端节点会导致配置到特定节点。