스크립트를 통해 동적 캐시 서비스 다중 셀 및 다중 코어 그룹 무효화 사용
dynacacheJMSSIB.py 스크립트를 사용하여 동적 캐시 서비스 다중 셀 및 다중 코어 그룹 무효화를 사용할 수 있습니다. 이 스크립트는 다중 셀에서 외부 캐시 어댑터 및 서비스 통합 버스 인프라를 구성합니다. 스크립트는 올바르게 작동하려면 WAS_INSTALL_ROOT/profiles/PROFILE_NAME/bin 디렉토리에서 실행해야 합니다.
시작하기 전에
이 타스크를 시작하기 전에, wsadmin 도구가 실행 중이어야 합니다. 자세한 정보는 wsadmin 도구 시작 방법에 대한 주제를 참조하십시오.
다음도 확인해야 합니다.
- 각 셀 또는 코어 그룹은 프로덕션 애플리케이션을 호스팅하는 클러스터를 포함합니다. 무효화 ID를 올바르게 처리하려면 셀 또는 코어 그룹 모두에서 동일한 프로덕션 애플리케이션을 사용해야 합니다.
- 서비스 통합 버스를 호스팅하기 위해 두 서버로 구성된 별도의 클러스터가 각 셀 또는 코어 그룹에서 작성됩니다. 이 클러스터의 멤버에서는 RemoteJMSInvalidator 외부 캐시 그룹을 정의할 수 없습니다. 이 클러스터 멤버에 대해 RemoteJMSInvalidator 외부 캐시 그룹이 정의되면 셀 사이에서 무효화가 반복적으로 전송되는 무한 루프백 조건이 발생합니다.
- 데이터 소스가 정의되고 서비스 통합 버스 클러스터 멤버 모두에서 액세스 가능합니다. 데이터베이스가 두 셀에서 모두 공유되면 각 셀에 대해 각 데이터 소스를 정의할 때 고유한 데이터베이스 이름을 사용해야 합니다.
- 각 셀 또는 코어 그룹이 프로덕션 애플리케이션을 호스팅하는 모든 클러스터 및 서비스 통합 버스 클러스터 모두를 포함하는 복제 도메인을 포함합니다.
이 태스크 정보
dynacacheJMSSIB.py 스크립트는 다음과 같은 세 가지 단계로 각 셀 또는 코어 그룹을
구성합니다.
- 인바운드 JMS/서비스 통합 버스 구성. 인바운드 JMS/서비스 통합 버스 구성은 다음을 포함합니다.
- 서비스 통합 버스 작성 및 서비스 통합 버스 대상 구성.
- JMS(Java Messaging Service) 작성.
- JMS 활성화 스펙 구성
- 서비스 통합 버스 클러스터에 WAS_INSTALL_ROOT/installables/DynacacheMessageHandler.ear 메시지 구동 Bean 설치.
- 아웃바운드 JMS/서비스 통합 버스 구성.
아웃바운드 JMS/서비스 통합 버스 구성은 원격 셀과 통신하도록 JMS 큐 연결 팩토리의 구성을 포함합니다.
- 외부 캐시 그룹 구성.
외부 캐시 그룹 구성은 프로덕션 애플리케이션을 호스팅하는 각 클러스터 멤버에서 외부 캐시 어댑터 및 외부 캐시 그룹의 구성을 포함합니다.
Jython을 사용하여 --help 및 적절한
--setup=xxx 옵션을 지정해
각 명령에 대해 사용 가능한 매개변수를 표시하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=dynacacheInSIB --help
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=dynacacheOutSIB --help
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py
--setup=ddynacacheECA --help
인바운드, 아웃바운드 또는 ECA 구성을 삭제하려면 각 구성 아티팩트 작성에 사용한 명령에 --delete를 추가하십시오.
예제 1: 다중 셀
이 예제에서는 스크립트를 사용하여 두 개의 셀, Cell1 및 Cell2를
구성하는 방법을 보여줍니다. 이때 두 셀 모두 동일한 애플리케이션, ApplicationA를 호스팅합니다.
Cell1
ProductionCluster1 (hosts ApplicationA)
SIBCluster1
node1/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7777
hostname=host1.com
node1b/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7776
hostname=host11.com
ReplicationDomain (contains ProductionCluster1 members and SIBCluster1
members)
Service Integration Bus Data Source1
JNDI name = jdbc/SIBCluster1DataSource
Cell2
ProductionCluster2 (hosts ApplicationA)
SIBCluster2
node2/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8888
hostname=host2.com
nodesb/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8889
hostname=host22.com
ReplicationDomain (contains ProductionCluster2 members and SIBCluster2
members)
Service Integration Bus Data Source2
JNDI name = jdbc/SIBCluster2DataSource
다음 단계를 완료하여 Cell1 및 Cell2에 대한 동적 캐시 서비스 셀 무효화 지원을 사용하십시오.
- 다음 명령을 실행하여 Cell1에 대한 인바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --cluster=SIBCluster1 --datasourceJNDI=jdbc/SIBCluster1DataSource
- 다음 명령을 실행하여 Cell2에 대한 인바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --cluster=SIBCluster2 --datasourceJNDI=jdbc/SIBCluster2DataSource
- 다음 명령을 실행하여 Cell1에 대한 아웃바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --remoteCellSIBServers=host2.com:8888,host22.com:8889 --remoteCellID=Cell2
- 다음 명령을 실행하여 Cell2에 대한 아웃바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --remoteCellSIBServers=host1.com:7777,host11.com:7776 --remoteCellID=Cell1
- 다음 명령을 실행하여 Cell1에 대한 외부 캐시 그룹/어댑터를
구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster1 --remoteCellID=Cell2
- 다음 명령을 실행하여 Cell2에 대한 외부 캐시 그룹/어댑터를
구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster2 --remoteCellID=Cell1
이 예제에서는
다중 코어 그룹을 포함하는 단일 셀을 구성하기 위해 스크립트를 사용하는 방법을 보여줍니다.
코어 그룹은 동일한 애플리케이션(ApplicationA)을 호스팅합니다.
CoreGroup1
ProductionCluster1 (hosts ApplicationA)
SIBCluster1
node1/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7777
hostname=host1.com
node1b/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=7776
hostname=host11.com
ReplicationDomain (contains ProductionCluster1 members and SIBCluster1
members)
Service Integration Bus Data Source1
JNDI name = jdbc/SIBCluster1DataSource
Cell1의 CoreGroup2도
ApplicationA를 호스팅하고 다음 토폴로지를 포함합니다.
CoreGroup2
ProductionCluster2 (hosts ApplicationA)
SIBCluster2
node2/sib1 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8888
hostname=host2.com
nodesb/sib2 (service integration bus member)
SIB_ENDPOINT_ADDRESS=8889
hostname=host22.com
ReplicationDomain (contains ProductionCluster2 members and SIBCluster2
members)
Service Integration Bus Data Source2
JNDI name = jdbc/SIBCluster2DataSource
다음 단계를 완료하여 CoreGroup1 및 CoreGroup2에 대한 동적 캐시 서비스 코어 그룹 무효화 지원을 사용하십시오.
- 다음 명령을 실행하여 CoreGroup1에 대한 인바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --localCellID=Cell1/CoreGroup1 --cluster=SIBCluster1 --datasourceJNDI=jdbc/SIBCluster1DataSource
- 다음 명령을 실행하여 CoreGroup2에 대한 인바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheInSIB --localCellID=Cell1/CoreGroup2 --cluster=SIBCluster2 --datasourceJNDI=jdbc/SIBCluster2DataSource
- 다음 명령을 실행하여 CoreGroup1에 대한 아웃바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --localCellID=Cell1/CoreGroup1 --remoteCellSIBServers=host2.com:8888,host22.com:8889 --remoteCellID=Cell1/CoreGroup2
- 다음 명령을 실행하여 Coregroup2에 대한 아웃바운드 JMS/서비스
통합 버스를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheOutSIB --localCellID=Cell1/CoreGroup2 --remoteCellSIBServers=host1.com:7777,host11.com:7776 --remoteCellID=Cell1/CoreGroup1
- CoreGroup1에 대한 외부 캐시 그룹/어댑터를 구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster1 --localCellID=Cell1/CoreGroup1 --remoteCellID=Cell1/CoreGroup2
- 다음 명령을 실행하여 CoreGroup2에 대한 외부 캐시 그룹/어댑터를
구성하십시오.
./wsadmin.sh -lang jython -f ../../../util/dynacacheJMSSIB.py --setup=dynacacheECA --cluster=ProductionCluster2 --localCellID=Cell1/CoreGroup2 --remoteCellID=Cell1/CoreGroup1