DB2 데이터베이스를 사용하는 애플리케이션의 클라이언트 재라우트 구성
클라이언트 재라우트 기능을 사용하면 통신 손실을 복구하도록 DB2® 데이터베이스의 엔터프라이즈 애플리케이션을 구성할 수 있으며, 잠깐의 중단 후에 애플리케이션은 계속 작업을 수행할 수 있습니다. 재라우트는 지속적 조작에 대한 지원의 중심이지만 애플리케이션 서버 연결에서 식별되는 대체 위치가 있는 경우에만 가능합니다.
시작하기 전에
이 태스크는 다음을 가정합니다.
- 애플리케이션 연결이 실행 중인 DB2 데이터 소스:
- z/OS®용 DB2 버전 10.1 이상 또는
- Linux, UNIX, Windows용 DB2 데이터베이스 버전 9.7 이상
- 중복 설정 또는 DB2 서버를 대기 노드로 장애 복구하는 기능을 포함한 DB2 데이터베이스를 구성했습니다.
이 태스크 정보
DB2에 대한 클라이언트 재라우트를 사용하여 기본 데이터베이스 서버에 연결하는 데 실패하는 경우 대체 서버에 대한 정보를 제공할 수 있습니다.
클라이언트 측에 대한 구성이 없는 경우, DB2 서버에서 사용 가능한 DB2의 JCC(Java™ Common Connectivity) JDBC(Java Database Connectivity) 드라이버는 DB2 서버에 대한 초기 연결을 작성할 때 클라이언트 재라우트 기능을 지원합니다. JCC JDBC 드라이버가 하나 이상의 대체 서버가 구성된 DB2 서버에 연결될 때 기본 서버가 JCC JDBC 드라이버에 대체 서버에 대한 정보를 전송합니다. 기본 서버에 대한 연결이 실패하면 JCC JDBC 드라이버가 대체 서버에 대한 연결을 다시 라우팅할 수 있습니다. 하지만 애플리케이션 서버가 충돌을 처리하는 경우 대체 서버 정보가 유실되고 클라이언트가 기본 서버에 다시 연결되어야 합니다. 클라이언트가 기본 서버에 대한 초기 연결을 작성할 수 없는 경우, 이 클라이언트는 대체 서버에 대해 알지 못하게 되어 다시 라우팅할 수 없습니다.
이 문제점을 해결하려면, 초기 연결 시도에도 클라이언트 재라우트를 지원하도록 대체 서버의 이름이 clientRerouteAlternateServerName이고 포트가 clientRerouteAlternatePortNumber인 데이터 소스 특성을 가진 애플리케이션 서버에 DB2 데이터 소스를 구성할 수 있습니다. JCC JDBC 드라이버를 기본 DB2 서버에 연결할 수 없는 경우 클라이언트 재라우트에 필요한 정보가 이미 있고 JCC JDBC 드라이버가 대체 서버에 대한 연결을 다시 라우팅할 수 있습니다.
연결을 다시 라우팅하고 JCC JDBC 드라이버가 대체 DB2 서버에 연결되면 대체 서버가 고유 대체 서버에 대한 정보를 JCC JDBC 드라이버에 전송합니다. 그러면 JCC JDBC 드라이버에 대체 DB2 서버를 사용할 수 없는 경우 연결을 다시 라우팅하는 데 필요한 정보가 포함됩니다. 원래 대체 서버였던 서버는 이제 기본 서버가 되고 새 대체 서버가 설정됩니다. 하지만 이 기본 서버와 대체 서버의 새로운 상태는 더 이상 JCC JDBC 드라이버에 보관되지 않습니다. 애플리케이션 서버가 실패하고 다시 시작되면 JCC JDBC 드라이버가 원래 서버 구성에서 시작해야 하고 원래 기본 서버로 간주되었던 서버에 연결하려고 시도합니다.
다음과 같은 DB2 구성 가능 환경에서 자동 클라이언트 재라우트 기능을 사용할 수 있습니다.
프로시저
예
<dataSource id="DefaultDataSource"jndiName="jdbc/db2">
<properties.db2.jcc
databaseName="sampleDatabase"
driverType="4"
serverName="host"
portNumber="50000"
clientRerouteAlternateServerName="host01, host02, host03"
clientRerouteAlternatePortNumber="50000, 50005, 50000"
retryIntervalForClientReroute="2"
maxRetriesForClientReroute="3" />
...
</dataSource>