

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Memcached 클라이언트 라이브러리에 Auto Discovery 추가
<a name="AutoDiscovery.AddingToYourClientLibrary"></a>

Auto Discovery의 구성 정보는 각 Memcached 클러스터 노드에 중복 저장됩니다. 클라이언트 애플리케이션은 모든 캐시 노드를 쿼리하고 클러스터에서 모든 노드의 구성 정보를 확보할 수 있습니다.

애플리케이션이 이 작업을 수행하는 방법은 캐시 엔진 버전에 따라 달라집니다.
+ 캐시 엔진 버전이 **1.4.14 이상**인 경우 `config` 명령을 사용합니다.
+ 캐시 엔진 버전이 **1.4.14 미만인 경우** `get AmazonElastiCache:cluster` 명령을 사용합니다.

이러한 두 명령의 출력은 동일하며 아래 [출력 형식](#AutoDiscovery.AddingToYourClientLibrary.OutputFormat) 섹션에서 설명됩니다.

## 캐시 엔진 버전 1.4.14 이상
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus"></a>

캐시 엔진 버전 1.4.14 이상인 경우 `config` 명령을 사용합니다. 이 명령은 ElastiCache에 의해 Memcached ASCII 및 바이너리 프로토콜에 추가되었으며 ElastiCache 클러스터 클라이언트에서 구현됩니다. 다른 클라이언트 라이브러리에 Auto Discovery를 사용하려면 해당 라이브러리가 `config` 명령을 지원하도록 확장될 필요가 있습니다.

**참고**  
다음 설명은 ASCII 프로토콜에 관련한 것이지만 `config` 명령은 ASCII 및 바이너리 모두를 지원합니다. 바이너리 프로토콜을 사용하여 Auto Discovery 지원을 추가하려면 [ElastiCache 클러스터 클라이언트에 대한 소스 코드](https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java/tree/master/src/main/java/net/spy/memcached/protocol/binary)를 참조하세요.

**구문**

`config [sub-command] [key]`

### 옵션
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus.Options"></a>


| 이름 | 설명 | 필수 | 
| --- | --- | --- | 
| sub-command |  캐시 노드와 상호 작용하는 데 사용되는 하위 명령입니다. Auto Discovery의 경우 이 하위 명령은 `get`입니다.  | 예 | 
| key |  클러스터 구성이 저장되어 있는 키입니다. Auto Discovery의 경우 이 키 이름은 `cluster`입니다.  | 예 | 

클러스터 구성 정보를 보려면 다음 명령을 사용합니다.

```
config get cluster
```

## 캐시 엔진 버전 1.4.14 미만
<a name="AutoDiscovery.AddingToYourClientLibrary.pre-1-4-14"></a>

클러스터 구성 정보를 보려면 다음 명령을 사용합니다.

```
get AmazonElastiCache:cluster
```

**참고**  
"AmazonElastiCache:cluster" 키에는 클러스터 구성 정보가 상주하므로 이 키를 함부로 변경하지 마십시오. 이 키를 덮어쓰면 ElastiCache가 자동으로 올바르게 구성 정보를 업데이트하기 전에 클라이언트가 짧은 시간 동안(15초 미만) 잘못 구성될 수 있습니다.

## 출력 형식
<a name="AutoDiscovery.AddingToYourClientLibrary.OutputFormat"></a>

`config get cluster`를 사용하든, `get AmazonElastiCache:cluster`를 사용하든 응답은 두 줄로 구성됩니다.
+ 구성 정보의 버전 번호. 매번 노드가 클러스터에서 추가 또는 제거될 때마다 버전 번호가 하나씩 증가합니다.
+ 캐시 노드 목록. 목록의 각 노드는 *hostname\$1ip-address\$1port* 그룹으로 표현되며 각 노드는 공백으로 구분됩니다.

캐리지 리턴 및 줄 바꿈 문자(CR \$1 LF)는 각 행의 끝에 표시됩니다. 데이터 행 끝에 줄 바꿈 문자(LF)가 포함되며 여기에 CR \$1 LF가 추가됩니다. 구성 버전 행은 CR 없이 LF로 종결됩니다.

노드가 3개인 클러스터는 다음과 같이 표현됩니다.

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

각 노드는 CNAME 및 사설 IP 주소 모두를 표시됩니다. CNAME은 항상 있으며 사설 IP 주소가 사용 불가능한 경우 표시되지 않지만 파이프 문자 "`|`"는 여전히 프린트됩니다.

**Example**  
다음은 구성 정보를 쿼리할 때 반환되는 페이로드의 예입니다.  

```
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
```

**참고**  
두 번째 행은 구성 정보가 이제까지 12회 수정되었음을 나타냅니다.
세 번째 행에서는 노드 목록이 호스트 이름의 사전순으로 지정됩니다. 이 정렬 순서는 클라이언트 애플리케이션에서 현재 사용 중인 것과 다른 순서로 되어 있을 수도 있습니다.