將自動探索新增至 Memcached 用戶端程式庫 - Amazon ElastiCache

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

將自動探索新增至 Memcached 用戶端程式庫

Auto Discovery 的組態資訊會以備援方式存放在每個 Memcached 快取叢集節點中。用戶端應用程式可查詢任何快取節點,並取得叢集內所有節點的組態資訊。

應用程式執行此作業的方式取決於快取引擎版本:

  • 若快取引擎版本為 1.4.14 或更高版本,請使用 config 命令。

  • 若快取引擎版本低於 1.4.14,請使用 get AmazonElastiCache:cluster 命令。

這兩個命令的輸出完全相同,並且會在以下的輸出格式一節中說明。

快取引擎 1.4.14 版或更新版本

針對 1.4.14 或更高的快取引擎版本,請使用 config 命令。此命令已由 新增至 Memcached ASCII和二進位通訊協定 ElastiCache,並在 ElastiCache 叢集用戶端中實作。若您希望搭配其他用戶端程式庫使用自動探索,該程式庫必須進行擴充以支援 config 命令。

注意

下列文件與ASCII通訊協定相關;不過, config命令同時支援 ASCII和 二進位檔。如果您想要使用二進位通訊協定新增 Auto Discovery 支援,請參閱 ElastiCache 叢集用戶端的原始程式碼

語法

config [sub-command] [key]

選項

名稱 描述 必要
sub-command

用來與快取節點互動的子命令。針對自動探索,此子命令為 get

key

鍵名稱,叢集組態會存放在該鍵之下。針對自動探索,此鍵名為 cluster

若要取得叢集組態資訊,請使用以下命令:

config get cluster

快取引擎 1.4.14 版或更低版本

若要取得叢集組態資訊,請使用以下命令:

get AmazonElastiCache:cluster
注意

請勿竄改 "AmazonElastiCache:cluster" 金鑰,因為這是叢集組態資訊所在的位置。如果您覆寫此金鑰,則在 ElastiCache 自動且正確更新組態資訊之前,用戶端可能設定不正確一段時間 (不超過 15 秒)。

輸出格式

無論您使用 config get clusterget AmazonElastiCache:cluster,回應都由兩行文字組成:

  • 組態資訊的版本編號。每當新增節點至快取叢集,或從快取叢集移除節點時,版本編號都會加一。

  • 快取節點的清單。清單中的每個節點都會以 hostname|ip-address|port 群組表示,並且每個節點都會以一個空格分隔。

歸位字元和換行字元 (CR + LF) 會出現在每一行的結尾。資料行的結尾包含一個換行字元 (LF),CR + LF 會新增到該處。組態版本行會以不帶 CR 的 LF 終止。

包含三個節點的快取叢集會以以下方式表示:

configversion\n hostname|ip-address|port hostname|ip-address|port hostname|ip-address|port\n\r\n

每個節點都會同時顯示 CNAME和私有 IP 地址。CNAME 永遠存在;如果私有 IP 地址不可用,則不會顯示;不過,仍會列印管道字元「|」。

範例

以下是當您查詢組態資訊時,所傳回承載的範例:

CONFIG cluster 0 136\r\n 12\n myCluster.pc4ldq.0001.use1.cache.amazonaws.com|10.82.235.120|11211 myCluster.pc4ldq.0002.use1.cache.amazonaws.com|10.80.249.27|11211\n\r\n END\r\n
注意
  • 第二行指出組態資訊至今已經過修改十二次。

  • 在第三行中,節點清單是以主機名稱的字母順序排序。此順序的排列方式可能會跟您目前於用戶端應用程式中使用的順序不同。