WebSphere eXtreme Scale 동적 캐시 제공자를 사용하도록 동적 캐시(DynaCache) 구성

동적 캐시 엔진은 동적 캐시 API 및 프레임워크에 대한 기본 캐시 제공자입니다. 그러나 동적 캐시를 사용하면 WebSphere eXtreme Scale은 코어 캐싱 엔진으로 활동할 수 있습니다. 기본 동적 캐시 엔진 대신 캐시 제공자로 WebSphere eXtreme Scale을 사용하도록 동적 캐시를 구성할 수 있습니다. WebSphere eXtreme Scale을 사용하도록 동적 캐시를 구성하면 기존 동적 캐시 캐싱 코드를 변경하지 않고 트랜잭션 지원, 향상된 확장성, 고가용성 및 기타 WebSphere eXtreme Scale 기능을 활용할 수 있습니다.

시작하기 전에

  • WebSphere eXtreme Scale 기능에 대한 개요는 소개: 동적 캐시 주제를 참조하십시오.
  • WebSphere eXtreme Scale 사용이 애플리케이션 서버에서 실행 중인 애플리케이션에 유용한지 여부를 판별하십시오.

    WebSphere eXtreme Scale 기능은 기본 동적 캐시 엔진 및 데이터 복제 서비스가 제공하는 것 이상의 동적 캐시 기능의 분배된 기능을 늘립니다. WebSphere eXtreme Scale을 사용하면 서버 사이의 캐시를 단순히 복제하고 동기화하는 것보다 다중 서버 사이에 분배된 캐시를 작성할 수 있습니다. WebSphere eXtreme Scale 캐시는 트랜잭션 가능하고 고가용성입니다. 이는 모든 서버가 동일한 동적 캐시 컨텐츠를 참조하는지 확인합니다. WebSphere eXtreme Scale은 데이터 복제 서비스(DRS)를 통해 제공되는 것보다 캐시 복제에 더 좋은 서비스 품질을 제공합니다.

    그러나 이러한 장점이 eXtreme Scale 동적 캐시 제공자가 모든 애플리케이션에 대해 올바른 선택이라는 것을 의미하지는 않습니다. 이 캐시 제공자의 개요는 WebSphere eXtreme Scale 버전 7.0 Information Center의 WebSphere eXtreme Scale에 대한 동적 캐시 제공자 구성 주제 참조에 제공된 의사결정 트리 및 기능 비교 매트릭스를 사용하십시오.

사용자 애플리케이션에 이점이 된다고 결정한 경우 WebSphere eXtreme Scale 버전 7.0 제품 개요"WebSphere eXtreme Scale에 대한 동적 캐시 제공자 구성" 절에 제공된 정보를 사용하여 캐싱 배치에 대한 적절한 WebSphere eXtreme Scale 토폴로지를 판별하십시오.

기본 동적 캐시 엔진 대신 WebSphere eXtreme Scale을 사용하는 경우, 동적 캐시에 대한 제한사항은 다음과 같습니다.
  • 디스크 캐시 지원이 없습니다. 다음 사용자 정의 특성은 작동하지 않습니다.
    • com.ibm.ws.cache.CacheConfig.enableDiskOffload
    • com.ibm.ws.cache.CacheConfig.diskOffloadLocation
    • com.ibm.ws.cache.CacheConfig.flushToDiskOnStop
    • com.ibm.ws.cache.CacheConfig.htodCleanupFrequency
    • com.ibm.ws.cache.CacheConfig.htodDelayOffload
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadEntriesLimit
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadDepIdBuckets
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadTemplateBuckets
    • com.ibm.ws.cache.CacheConfig.diskCachePerformanceLevel
    • com.ibm.ws.cache.CacheConfig.diskCacheEvictionPolicy
    • com.ibm.ws.cache.CacheConfig.diskCacheHighThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheLowThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheSize
    • com.ibm.ws.cache.CacheConfig.diskCacheSizeInGB
    • com.ibm.ws.cache.CacheConfig.diskCacheEntrySizeInMB
    • com.ibm.ws.cache.CacheConfig.explicitBufferLimitOnStop
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerTime
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerPercent
    문제점 방지 문제점 방지: extremeScale을 구성하기 전에 디스크 오프로드 기능을 사용 불가능으로 설정해야 합니다. 디스크 오프로드 기능을 사용 불가능으로 설정하려면 다음을 수행하십시오.
    1. 관리 콘솔에서 서버 > 서버 유형 > WebSphere Application Server > server_name > 컨테이너 서비스 > 동적 캐시 서비스를 클릭하십시오.
    2. 디스크 오프로드 사용 특성을 찾은 다음 이 특성이 선택된 경우 선택을 취소하십시오.
    extremeScale을 캐시 제공자로 구성하기 전에 디스크 오프로드를 사용 안하도록 설정하지 않은 경우 다음 wsadmin 명령을 사용하여 디스크 오프로드 기능을 사용 안하도록 설정하십시오.
    1. 다음 명령을 실행하여 서버의 구성 오브젝트를 찾으십시오.
      wsadmin>$AdminConfig list DynamicCache
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#dynamic_cache_name)
    2. 다음 AdminConfig modify 명령을 실행하여 diskoffload를 false로 설정하십시오.
      wsadmin>$AdminConfig modify
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#dynamic_cache_name) {{enableDiskOffload false}} 
    3. 이 구성 변경을 저장하려면 다음 명령을 실행하십시오.
      wsadmin>$AdminConfig save
    gotcha
  • DRS 복제(푸시 또는 푸시-풀 지원)가 없습니다. 다음 사용자 정의 특성은 작동하지 않습니다.
    • com.ibm.ws.cache.CacheConfig.enableReplicationAcks
    • com.ibm.ws.cache.CacheConfig.enableCacheReplication
    • com.ibm.ws.cache.CacheConfig.replicationDomain
    • com.ibm.ws.cache.CacheConfig.cacheEntryWindow
    • com.ibm.ws.cache.CacheConfig.cachePercentageWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidateEntryWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidatePercentWindow
    • com.ibm.ws.cache.CacheConfig.filterTimeOutInvalidation
    • com.ibm.ws.cache.CacheConfig.filterLRUInvalidation
  • 별명 API 기능은 오브젝트 캐시에 지원되지 않습니다.
  • 이벤트 리스너가 지원됩니다. 이벤트를 실행할 때 WebSphere® eXtreme Scale은 항상 sourceOfInvalidation을 REMOTE로 설정합니다.
  • 사용 불가능한 종속성 ID(com.ibm.ws.cache.CacheConfig.disableDependencyId) 및 템플리트(com.ibm.ws.cache.CacheConfig.disableTemplatesSupport)는 지원되지 않습니다.
  • PMI 지원이 없습니다.
  • 다음 CacheStatistic 카운터가 지원됩니다.
    • CacheHits
    • CacheLruRemoves
    • CacheMisses
    • CacheRemoves
    • ExplictInvalidationsFromMemory
    • MemoryCacheEntries
    • TimeoutInvalidationsFromMemory
  • NioMap - skipMemoryAndWriteToDisk는 디스크 캐시가 지원되지 않기 때문에 작동하지 않습니다. 또한 DistributedNioMapObject.release()는 NIO 버퍼 관리에 byteBuffer를 릴리스하도록 호출되지 않습니다.

다음 조치를 완료해서 WebSphere eXtreme Scale 동적 캐시 제공자를 사용할 수 있습니다.

프로시저

  1. 원격 서버 및 기타 토폴로지 각각에 대해 WebSphere eXtreme Scale 클라이언트 또는 WebSphere eXtreme Scale 클라이언트 및 서버 패키지를 애플리케이션 서버에 설치하십시오.
    문제점 방지 문제점 방지: WebSphere eXtreme Scale 클라이언트 설치 및 원격 토폴로지만 지원됩니다.gotcha
  2. WebSphere eXtreme Scale 동적 캐시 제공자를 사용자 캐시 제공자로 지정하십시오.

    모든 캐시 인스턴스는 WebSphere eXtreme Scale을 사용하도록 개별적으로 구성될 수 있습니다. 동적 캐시 엔진은 캐시 인스턴스에 대한 기본 캐시 제공자입니다. WebSphere eXtreme Scale로 구성된 캐시 인스턴스는 DRS로 구성된 캐시 인스턴스와 공존할 수 있습니다.

    다음 조치 중 하나를 완료해서 WebSphere eXtreme Scale 동적 캐시 제공자를 캐시 제공자로 지정하십시오.

    1. 관리 콘솔을 사용하여 WebSphere eXtreme Scale 동적 캐시 제공자를 사용자 캐시 제공자로 지정하십시오.
      1. 관리 콘솔에서 서버 > 서버 유형 > WebSphere Application Server > server_name을 클릭하십시오.
      2. 컨테이너 서비스에서 동적 캐시 서비스 server_name을 클릭한 다음 캐시 제공자 필드에서 WebSphere eXtreme Scale 동적 캐시 제공자를 선택하십시오.
      3. 확인을 클릭하십시오.
    2. cacheProviderName 특성을 엔터프라이즈 애플리케이션에 번들된 cacheinstances.properties 파일에 추가하고 특성을 com.ibm.ws.objectgrid.dynacache.CacheProviderImpl로 설정하십시오.

      예를 들어, cache.instance.26의 경우 다음 행을 cacheinstances.properties 파일에 추가할 수 있습니다.

      cache.instance.26.cacheProviderName = com.ibm.ws.objectgrid.dynacache.CacheProviderImpl
    3. 다음 팩토리 API를 엔터프라이즈 애플리케이션에 대한 코드에 추가하십시오.
      Properties p = new Properties();
                      ==>p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  3. 캐시 인스턴스에 복제 설정 구성

    WebSphere eXtreme Scale 동적 캐시 제공자를 사용하면 로컬 캐시 인스턴스와 복제된 캐시 인스턴스를 가질 수 있습니다.

    로컬 캐시 인스턴스만 사용하려는 경우 마지막 단계로 찾아가서 구성 변경을 저장하십시오. 로컬 캐시에서 WebSphere eXtreme Scale 컨테이너는 JVM과 같은 장소에 배치됩니다. 즉, WebSphere eXtreme Scale 컨테이너 및 WebSphere Application Server는 동일한 JVM 힙을 공유합니다.

    복제된 캐시를 사용하려는 경우 캐시 인스턴스를 작성한 방법에 따라 다음 조치 중 하나를 완료하십시오.

    1. JVM(Java Virtual Machine) > 사용자 정의 특성 페이지의 관리 콘솔에서 새로 작성을 다시 클릭하십시오. com.ibm.ws.cache.CacheConfig.enableCacheReplication이름 필드에 입력하고 true 필드에 입력한 다음 확인을 클릭하십시오.
    2. enableCacheReplication 특성을 엔터프라이즈 애플리케이션에 번들된 cacheinstances.properties 파일에 추가하고 특성을 true로 설정하십시오.
      예를 들어, cache.instance.26의 경우 다음 행을 cacheinstances.properties 파일에 추가할 수 있습니다.
      cache.instance.26.enableCacheReplication = true
    3. 다음 팩토리 API를 엔터프라이즈 애플리케이션에 대한 코드에 추가하십시오.
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      ==>p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  4. WebSphere eXtreme Scale 복제 토폴로지를 구성하십시오.

    WebSphere eXtreme Scale 동적 캐시 제공자에 대한 필수 구성 매개변수만 캐시 토폴로지 매개변수입니다.

    1. JVM(Java Virtual Machine) > 사용자 정의 특성 페이지의 관리 콘솔에서 새로 작성을 다시 클릭하십시오. com.ibm.websphere.xs.dynacache.topology이름 필드에 입력하고 다음 값 중 하나를 필드에 입력하십시오.
      • 임베디드
      • embedded_partitioned
      • 원격(remote)
      문제점 방지 문제점 방지: embedded_partitioned를 지정하는 경우 com.ibm.websphere.xs.dynacache.num_initial_containers 사용자 정의 특성을 JVM 설정에 추가하고 이 특성을 분배된 캐시 인스턴스에 액세스하는 서버 인스턴스의 총 수와 같거나 약간 미만인 정수로 설정해야 합니다. gotcha
    2. com.ibm.websphere.xs.dynacache.topology 특성을 엔터프라이즈 애플리케이션에 번들된 cacheinstances.properties 파일에 추가하고 특성을 임베디드, embedded_partitioned 또는 원격으로 설정하십시오.
      예를 들어, cache.instance.26의 경우 다음 행을 cacheinstances.properties 파일에 추가할 수 있습니다.
      cache.instance.26.com.ibm.websphere.xs.dynacache.topology = embedded
      문제점 방지 문제점 방지: embedded_partitioned를 지정하는 경우 com.ibm.websphere.xs.dynacache.num_initial_containers 특성을 cacheinstances.propertiesfile에 추가하고 이 특성을 분배된 캐시 인스턴스에 액세스하는 서버 인스턴스의 총 수와 같거나 약간 미만인 정수로 설정해야 합니다. gotcha

      예를 들어, 동적 캐시 서비스가 그리드 멤버 간에 공유되는 경우 변수가 그리드 멤버의 수로 설정되어야 합니다.

    3. 다음 팩토리 API를 엔터프라이즈 애플리케이션에 대한 코드에 추가하십시오.
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      ==>p.put("com.ibm.websphere.xs.dynacache.topology", "embedded");
                      ==>p.put("com.ibm.websphere.xs.dynacache.num_initial_containers", "3");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);

    임베디드, embedded_partitioned원격 설정에 대한 자세한 정보는 WebSphere eXtreme Scale 버전 7 Information Center의 WebSphere eXtreme Scale에 동적 캐시 제공자 구성 주제를 참조하십시오.

  5. eXtreme Scale 카탈로그 서비스 그리드를 구성하십시오.

    카탈로그 서비스 그리드를 실행할 때 카탈로그 서비스 엔드포인트에 catalog.services.cluster 사용자 정의 특성을 설정해야 합니다.

    WebSphere Application Server 환경에서 카탈로그 서비스 프로세스를 시작하는 방법에 대한 설명은 WebSphere eXtreme Scale 버전 7 Information Center의 WebSphere Application Server 환경에서 카탈로그 서비스 프로세스 시작 주제를 참조하십시오.

    1. 관리 콘솔에서 시스템 관리 > 셀 > 사용자 정의 특성 > 새로 작성을 클릭하십시오.
    2. catalog.services.cluster이름 필드에 입력하고 적절한 server_name: host_name:client_port:peer_port:listener_port 값을 필드에 입력하십시오.
      • server_name은 셀 이름, 노드 이름 또는 서버 이름과 같이 카탈로그 서비스를 호스트하는 서버의 완전한 WebSphere 프로세스 이름입니다. (예: cellA\node1\nodeagent)
      • host_name은 호스팅 서버의 이름입니다.
      • client_port는 피어 카탈로그 그리드 통신에 사용되는 포트입니다.
      • peer_port는 피어 카탈로그 그리드 통신에 사용되는 포트입니다.
      • listener_port는 리스너 포트입니다. 이 포트는 서버 구성에 정의되는 BOOTSTRAP_ADDRESS 값과 일치해야 합니다.
      다음은 유효한 값의 예제입니다.
      cellA\node1\nodeagent:host.local.domain:6600:6601:2809,cellA\node2\
      nodeagent:host.foreign.domain:6600:6601:2809
    3. 확인을 클릭하십시오.
  6. 저장을 클릭해서 모든 구성 변경사항을 저장하십시오.
  7. WebSphere eXtreme Scale을 사용하도록 구성한 모든 애플리케이션 서버를 다시 시작하십시오.
  8. 사용자 정의 키 오브젝트를 구성하십시오.

    사용자 정의 오브젝트를 키로 사용하는 경우 오브젝트는 직렬화 가능 또는 외부화 가능한 인터페이스를 구현해야 합니다. 임베디드 또는 임베디드 파티션된 토폴로지가 있는 사용자 정의 오브젝트를 사용하는 경우, 기본값 동적 캐시 제공자를 사용하는 경우 수행하는 것과 같은 방법으로 공유 라이브러리에 오브젝트를 두어야 합니다. 자세한 정보는 동적 캐시에 대한 DistributedMap 및 DistributedObjectCache 인터페이스 사용 주제를 참조하십시오.

    원격 토폴로지를 사용하는 경우 독립형 WebSphere eXtreme Scale 컨테이너에 대한 CLASSPATH에 사용자 정의 키 오브젝트를 두어야 합니다. 자세한 정보는 WebSphere eXtreme Scale 버전 7.0 관리 안내서에서 컨테이너 프로세스를 시작하기 위한 단계를 참조하십시오. 이 간행물은 WebSphere eXtreme Scale 라이브러리 페이지에서 사용 가능합니다.

  9. eXtreme Scale 컨테이너 서버를 구성하십시오.

    캐시된 데이터는 WebSphere eXtreme Scale 컨테이너에 저장됩니다. 이러한 컨테이너는 WebSphere Application Server 프로세스의 내부 또는 외부에서 실행될 수 있습니다. eXtreme Scale 제공자는 캐시 인스턴스에 임베디드 또는 임베디드 파티션된 토폴로지를 사용할 때 WebSphere Application Server 프로세스 내부에 컨테이너를 자동으로 작성합니다. 이러한 토폴로지에는 추가 구성이 필요하지 않습니다.

    원격 토폴로지를 사용하는 경우 캐시 인스턴스에 액세스하는 WebSphere Application Server 인스턴스를 시작하기 전에 독립형 eXtreme Scale 컨테이너를 시작해야 합니다. 독립형 컨테이너를 시작하기 위해 완료해야 하는 단계가 WebSphere eXtreme Scale 버전 7.0 관리 안내서에 명시되어 있습니다.

    문제점 방지 문제점 방지: 특정 동적 캐시에 대한 모든 컨테이너는 동일한 카탈로그 서비스 엔드포인트를 가리킨다는 것을 확인하십시오. gotcha

    dynacache-remoteobjectgrid. 독립형 eXtreme Scale 동적 캐시 제공자 컨테이너에 대한 xml 및 dynacache-remote-definition.xml 구성 파일은 WebSphere eXtreme Scale이 WebSphere Application Server의 맨 위에 설치되는 경우에는 install_root/customLibraries/ ObjectGrid/dynacache/etc 디렉토리에 있고 WebSphere eXtreme Scale의 독립형 버전을 사용하는 경우에는 install_root/ObjectGrid/dynacache/etc 디렉토리에 있습니다. eXtreme Scale 동적 캐시 제공자에 대한 독립형 컨테이너를 실행할 때 편집 및 사용하도록 이러한 파일의 사본을 작성하십시오. dynacache-remote-deployment.xml 파일의 numIntitialContainers 매개변수에 지정된 값은 실행 중인 컨테이너 프로세스 수를 기반으로 해야 합니다.

    다음 예제는 WebSphere eXtreme Scale 동적 캐시 제공자에 대한 독립형 컨테이너를 실행하는 UNIX 기반 명령행 항목을 설명합니다.
    startOgServer.sh container1 -objectGridFile ../dynacache/etc/dynacache-remoteobjectgrid.
    xml -deploymentPolicyFile ../dynacache/etc/dynacache-remotedeployment.
    xml -catalogServiceEndpoints MyServer1.company.com:2809
    문제점 방지 문제점 방지: 컨테이너 프로세스 세트에는 원격 토폴로지를 사용하도록 구성된 모든 동적 캐시 인스턴스를 제공할 사용 가능한 메모리가 충분해야 합니다. catalog.services.cluster에 대해 동일하거나 동등한 값을 공유하는 WebSphere Application Server 프로세스는 동일한 독립형 컨테이너 세트를 사용해야 합니다. 컨테이너 수와 컨테이너가 상주하는 시스템 수의 크기는 적절하게 조절되어야 합니다. 추가 세부사항은 WebSphere eXtreme Scale 버전 7.0 제품 개요의 용량 계획 및 고가용성 주제를 참조하십시오. 이 간행물은 WebSphere eXtreme Scale 라이브러리 페이지에서 사용 가능합니다. gotcha
  10. WebSphere eXtreme Scale 동적 캐시 제공자가 올바르게 구성되는지 확인하십시오.
    WebSphere eXtreme Scale 동적 캐시 제공자가 올바르게 구성되면 시스템 로그에는 다음 메시지와 유사한 다수의 메시지가 포함됩니다.
    DYNA1001I: WebSphere Dynamic cache instance named "{0}" initialized successfully using cache provider "{1}".
    DYNA1071I: The cache provider \"{0}\" is being used.
    WebSphere eXtreme Scale로 캐시 인스턴스의 구성 및 초기화에 실패한 경우 동적 캐시 런타임이 기본 동적 캐시 제공자로 전환되고 시스템 로그의 다음 메시지와 유사한 메시지를 참조해야 합니다.
    DYNA1066E: Unable to initialize the cache provider \"{0}\". 
    The Dynamic cache will be used to create the cache instance \"{1}\" 
    instead of the configured cache provider. 

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_extremescale
파일 이름:tdyn_extremescale.html