使用自動探索 - Amazon ElastiCache

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

使用自動探索

若要開始使用 Auto Discovery 搭配 ElastiCache (Memcached),請依照下列步驟進行:

取得組態端點

為了連線到叢集,用戶端程式必須知道叢集的組態端點。請參閱主題:尋找叢集的端點 (主控台) (Memcached)

您也可以使用 aws elasticache describe-cache-clusters 命令搭配 --show-cache-node-info 參數:

無論您用來尋找叢集端點的方法為何,組態端點的地址內都會一律包含 .cfg

範例 使用 AWS CLI 的 尋找端點 ElastiCache

若為 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" } ] }

下載 ElastiCache 叢集用戶端

若要利用 Auto Discovery,用戶端程式必須使用 ElastiCache Cluster Client 。 ElastiCache Cluster Client 適用於 Java、 PHP和 。NET 包含探索和連線至所有快取節點的所有必要邏輯。

若要下載 ElastiCache 叢集用戶端
  1. 登入 AWS 管理主控台,並在 開啟 ElastiCache 主控台https://console.aws.amazon.com/elasticache/

  2. 從 ElastiCache 主控台中選擇 ElastiCache Cluster Client,然後選擇下載

適用於 Java 的 ElastiCache Cluster Client 的原始碼可在 https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java 取得。此程式庫是以熱門的 Spymemcached 用戶端為基礎。 ElastiCache Cluster Client 會根據 Amazon Software License https://aws.amazon.com/asl 發行。您可以視需要自由修改來源碼。您甚至可以將程式碼併入其他開放原始碼 Memcached 程式庫,或是併入您自己的用戶端程式碼。

注意

若要將 ElastiCache Cluster Client 用於 PHP,您必須先在 Amazon EC2執行個體上安裝它。如需詳細資訊,請參閱安裝適用於 PHP 的 ElastiCache 叢集用戶端

對於TLS支援的用戶端,請下載 7PHP.4 版或更新版本的二進位檔案。

若要將 ElastiCache Cluster Client 用於 .NET,您必須先在 Amazon EC2執行個體上安裝它。如需詳細資訊,請參閱安裝 的 ElastiCache 叢集用戶端。NET

修改您的應用程式

修改您的應用程式以使用自動探索。下列各節說明如何將 ElastiCache Cluster Client 用於 Java、 PHP和 NET。

重要

指定叢集的組態端點時,請務必確認端點的地址內包含 ".cfg",如以下所示。請勿使用 CNAME或 中沒有 ".cfg" 的端點。

"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";

明確指定叢集組態端點失敗,可能會導致設定至特定節點。