동적 캐시 서비스 다중 셀 및 다중 코어 그룹 무효화

동적 캐시 서비스 다중 셀 및 다중 코어 그룹 무효화는 다른 셀에서 작성된 캐시를 사용하여 셀 경계에서 복제되는 캐시 항목 없이 동기화됩니다. 이 기능이 서블릿 및 오브젝트 캐시 인스턴스 중 하나에 사용되면, 데이터는 셀 모두에 동일한 트래픽을 처리하는 셀의 결과로서 캐시를 갖게 됩니다. 캐시 항목이 JMS(Java Message Service)로 무효화된 경우, 무효화된 캐시 항목의 ID는 피어 셀로 전송됩니다. 셀 수신은 서비스 통합 버스를 사용하여 무효화를 처리합니다. 이 기능은 무효화를 동일한 셀의 다른 코어 그룹에 전파하는 데에도 사용될 수 있습니다.

동적 캐시 외부 캐시 어댑터, ECA(ExternalCacheAdapter)는 서버에서 무효화를 캡처하는 데에 사용됩니다. JMS/서비스 통합 버스는 원격 셀 또는 코어 그룹의 무효화를 전송 및 수신하는 데에 사용됩니다. 추가적인 애플리케이션 서버가 작성되어 무효화 애플리케이션을 호스팅합니다. 이러한 서버는 자동으로 서비스 통합 버스의 멤버가 됩니다. 이러한 애플리케이션 서버는 원격 셀에서 JMS 메시지로 구성된 무효화를 처리하며 로컬 셀의 클러스터 멤버와 통신합니다.

동적 캐시 서비스 다중 셀 및 다중 코어 그룹 환경의 무효화 정보 플로우

외부 캐시 어댑터인 com.ibm.websphere.servlet.cache.RemoteInvalidator는 무효화된 캐시의 ID를 원격 셀의 서비스 통합 버스에 전송하는 데에 사용됩니다. 주소에 host:port를 지정하는 대신, 이 외부 캐시 어댑터의 유형은 JMS 큐 연결 팩토리 JNDI 이름을 사용하며, 다음 주소로서 원격 서비스 통합 버스의 큐 대상 이름을 사용합니다.

Adapter bean name = com.ibm.websphere.servlet.cache.RemoteInvalidator
Address = JMS_QUEUE_CONNECTION_FACTORY_JNDI_NAME, REMOTE_QUEUE_DESTINATION_NAME
이 기능을 사용하려면 다음을 확인해야 합니다.
  • 각 셀 또는 코어 그룹은 프로덕션 애플리케이션을 호스팅하는 클러스터를 포함합니다. 무효화 ID를 올바르게 처리하려면 셀 또는 코어 그룹 모두에서 동일한 프로덕션 애플리케이션을 사용해야 합니다.
  • 서비스 통합 버스를 호스팅하기 위해 두 서버로 구성된 별도의 클러스터가 각 셀 또는 코어 그룹에서 작성됩니다. 이 클러스터의 멤버는 정의된 RemoteJMSInvalidator 외부 캐시 그룹을 가질 수 없습니다. 이 클러스터 멤버에 대해 RemoteJMSInvalidator 외부 캐시 그룹이 정의되면 셀 사이에서 무효화가 반복적으로 전송되는 무한 루프백 조건이 발생합니다.
  • 데이터 소스가 정의되고 서비스 통합 버스 클러스터 멤버 모두에서 액세스 가능합니다. 데이터베이스가 두 셀에서 모두 공유되면 각 셀에 대해 각 데이터 소스를 정의할 때 고유한 데이터베이스 이름을 사용해야 합니다.
  • 각 셀 또는 코어 그룹이 프로덕션 애플리케이션을 호스팅하는 모든 클러스터 및 서비스 통합 버스 클러스터 모두를 포함하는 복제 도메인을 포함합니다.
이 기능을 오브젝트 캐시 인스턴스에 사용 중인 경우, 다음 JVM(Java Virtual Machine) 사용자 정의 특성도 true로 설정해야 합니다. 이러한 특성은 캐시 인스턴스를 작성하는 경우에 cacheinstances.properties 파일 또는 특성 맵 중 하나에 지정될 수 있습니다. 아니면 관리 콘솔을 사용하여 다음 특성을 JVM에 추가할 수 있습니다.
  • com.ibm.ws.cache.CacheConfig.interCellReplication
  • enableInterCellInvalidation

구성 고려사항

dynacacheJMSSIB.py 스크립트는 WAS_INSTALL_ROOT/util/ 디렉토리에서 제공됩니다. 이 스크립트를 사용하여 두 셀 모두에서 외부 캐시 어댑터 및 서비스 통합 버스 인프라를 구성하십시오. 스크립트는 WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin 디렉토리에서 실행되어야 올바르게 작동합니다. 예를 들면, 다음과 같습니다.
WAS_INSTALL_ROOT/profiles/Dmgr01/bin)

서블릿 또는 오브젝트 캐시 인스턴스의 구성은 코어 그룹의 두 클러스터 모두에 사용 가능해야 합니다. 특성 파일, 팩토리 또는 관리 콘솔 중 하나를 사용하여 서블릿 또는 오브젝트 캐시 인스턴스를 구성하십시오. 이 구성은 셀 범위에서 설정되어야 하며, 코어 그룹의 서비스 통합 버스 및 프로덕션 클러스터 모두에서 사용 가능해야 합니다. 이 사용 가능성을 확인하는 가장 쉬운 방법은 애플리케이션을 설치할 때 웹 프로덕션과 서비스 통합 버스 클러스터 모두에서 캐시 인스턴스를 작성 및 정의하는 것입니다.

다음은 캐시 인스턴스에 대해 cacheinstances.properties 파일에 추가해야 할 명령문의 예제입니다.
cache.instance.0=/services/cache/instance_one
cache.instance.0.cacheSize=1000
cache.instance.0.enableInterCellInvalidation=true
다음은 DistributedMapFactory를 사용하여 캐시 인스턴스에 대해 DistributedMap을 작성할 때 파일에 지정해야 할 명령문의 예제입니다.
Properties p = new Properties();
==>p.put("com.ibm.ws.cache.CacheConfig.enableInterCellInvalidation", "true");
   DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);

[z/OS]관리 콘솔에서 이러한 특성을 설정하려면, 서버 > 애플리케이션 서버 >server_name을 클릭한 후, 서버 인프라 섹션에서 Java™ 및 프로세스 관리 > 프로세스 정의 >제어 > Java virtual machine > 사용자 정의 특성을 클릭하거나, 자원 > 캐시 인스턴스 > 오브젝트 캐시 인스턴스 > cache_instance_name을 클릭하십시오.

[AIX Solaris HP-UX Linux Windows][IBM i]관리 콘솔에서 이러한 특성을 설정하려면, 서버 > 애플리케이션 서버 > server_name을 클릭한 후, 서버 인프라 섹션에서 Java 및 프로세스 관리 > 프로세스 정의 > Java virtual machine > 사용자 정의 특성을 클릭하거나, 자원 > 캐시 인스턴스 > 오브젝트 캐시 인스턴스 > cache_instance_name을 클릭하십시오.

dynacacheJMSSIB.py 스크립트는 각 셀을 다음 3단계로 구성합니다.
  1. 인바운드 JMS/서비스 통합 버스의 구성으로, 다음 조치로 구성됩니다.
    • 서비스 통합 버스 및 서비스 통합 버스 대상의 스펙의 작성입니다.
    • JMS 큐의 작성입니다.
    • JMS 활성화입니다.
    • WAS_INSTALL_ROOT/installables/DynacacheMessageHandler.ear 파일의 설치로, 메시지 구동 Bean이며 서비스 통합 버스 클러스터에 있습니다.
  2. 아웃바운드 JMS/서비스 통합 버스의 구성으로, JMS 큐 연결 팩토리 구성으로 구성됩니다.
  3. 외부 캐시 그룹의 구성으로, 외부 캐시 그룹 및 프로덕션 애플리케이션을 호스팅하는 각 클러스터 멤버에 대한 외부 캐시 어댑터로 구성됩니다.

튜닝 고려사항

다음 JVM(Java Virtual Machine) 사용자 정의 특성은 동적 캐시 서비스 다중 셀 및 다중 코어 그룹 무효화를 조정하는 데에 사용될 수 있습니다.
dynacache.jms.connRetryInterval
서비스 통합 버스 서버에 다시 연결을 시도하기 전에 클러스터 멤버가 대기하는 시간(초)을 지정하십시오. 기본값은 30입니다.
dynacache.jms.numStoredInvalidations
서비스 통합 버스 서버가 사용 가능 상태가 되기를 대기 하는 동안 클러스터 멤버가 저장할 수 있는 최대 무효화 ID 수를 지정하십시오. 임계값에 도달하면 가장 오래된 무효화가 제거됩니다. 기본값은 10000입니다.
dynacache.jms.cacheInstance
무효화 처리를 위해 사용할 캐시 인스턴스를 지정하십시오. 이 특성을 "*"로 설정하면 모든 캐시 인스턴스에서 무효화 ID가 처리됩니다. 기본적으로 baseCache 캐시 인스턴스가 사용됩니다. 이 특성은 서비스 통합 버스 서버에만 적용 가능합니다.
dynacache.jms.invProcessingDelay
서비스 통합 버스 서버가 무효화 ID를 처리하기 전에 조회하는 시간(초)을 지정하십시오. 기본값은 20입니다.

주제 유형을 표시하는 아이콘 개념 주제



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