4

나는 내 NHibernate 2 차 레벨 캐시로 memcached를 사용합니다. 필자는 Amazon Web Services로 시스템을 옮기고 Memcache와 완벽하게 호환되는 Elasticache를 사용할 계획입니다. Memcached는 호스트 IP 주소 (주의 : 호스트 이름이 아님 - 잘못된 IP 문자열을 발견하면 라이브러리에서 오류를 throw 함)을 사용하여 memcached 서버에 연결합니다.AWS Elasticache와 함께 NHibernate memcached 2 차 레벨 캐시를 사용하는 경우

<memcache> 
    <memcached host="192.168.1.1" port="11211" expiration="300" /> 
    </memcache> 

Elasticache 반면에 캐시 클러스터에 정적 호스트 이름을 제공하고, 이러한 변화하는 경향이로 내부 IP 주소를 사용하는 것은 권장하지 않습니다 : 다음은 예제 설정 문자열입니다.

누군가 Elasticache와 함께 NHibernate memcached 공급자를 사용할 수 있습니까? NHibernate가 IP 주소가 아닌 호스트 이름을 사용하도록 memcached를 구성하는 또 다른 방법이 있습니까?

는 단지 hostname 속성을 사용하고이 ElastiCache에서 제공하는 DNS 이름을 설정할 수 있습니다, 당신은

JP

+0

그것이 호스트 이름으로 구성을 허용하지 않는 이상한 것 같습니다 다음 프로젝트를 사용할 수 있습니다. 직접 구성하는 방법을 찾을 수 없으면 localhost에서 memcached 프록시를 사용하여 연결할 수 있습니다. – datasage

답변

3

에 관심있는 사람들을위한 : 나는 NHibernate.Caches.MemCache를 사용하여 호스트 이름을 가리 할 수 ​​없습니다. 그러나 NHibernate에 대한 대체 memcache 구현 인 NHibernate.Caches.EnyimMemcached가 있습니다. 이렇게하면 서버를 IP 주소 또는 호스트 이름으로 정의하여 내 문제를 해결할 수 있습니다. 그것은 는 이전 Memcache의 통합을 사용하여 달성 할 수하지만 일이 EnyimMemcached와 함께 잘 작동하는지 나는 아직도 듣고 싶네

0

대신 설정 파일에 host 속성을 사용하는 감사?

예 :

<memcached hostname="simcoprod02.m2st2p.fsw4.use1qa.cache.amazonaws.com" port="11211" expiration="300" /> 
-1

그것의 AWS 문제 호스트 이름 (아마존, 아마존-XXXX에 의해 제공되는 것)이 아니다 어떤 도메인에도 매핑되지 않았으므로 적용 가능합니다.

내부 ips 사이를 라우팅하는 것도 불가능한 것처럼 보이며, 어디에서나 추적 할 수 있습니다. 유일한 방법은 아마존에 매핑 CNAMES에

라우팅도 가능 보인다 해달라고, 당신이 발견으로 외부 탄성 IP를 직면하고 사용하는 것입니다

당신이 (아마존 자주 묻는 질문에) 역 DNS 매핑 요청을 제출 시도 할 수

, 또는 보조 DNS 요청 설정

당신이 https://github.com/henriquecampos/NHibernate.Caches.Elasticache을 사용할 수 있습니다, 사람이 여전히 해결책을 찾고 있다면