커넥션
2. 커넥션그룹

커넥션그룹은 시스템업무 기준으로 커넥션을 그룹화하고, 커넥션을 부하분산 처리한다.
커넥션관리 > 커넥션정보 화면에서 좌측 트리에 기정의된 시스템 업무 정보가 표시되며, 우측에는 커넥션그룹/커넥션 목록과 상세 정보가 표시된다. 해당 시스템 업무에서 우클릭 후, 커넥션그룹 등록을 선택하여 등록한다.
2.1. 구성항목
2.1.1. 기본정보
-
프로토콜구분: TCP, HTTP 등
-
인스턴스ID: 지정 시 해당 커넥션을 특정 인스턴스에서 사용한다.
TCP를 사용하는 경우, 추가로 프레임 설정이 필요하다. 프레임이란 전문 단위를 구분하는 용어로, AP 인터페이스에서 사용하는 송수신 전문은 하나의 프레임에 담긴다. 자세한 설정은 TCP 프레임을 참조한다. |
3. 커넥션
실질적인 통신 채널 역할을 한다. 커넥션 그룹에서 우클릭 후, 커넥션 등록을 선택하여 등록한다.
등록할 내용은 커넥션그룹에서 선택한 프로토콜에 따라 달라진다.
3.1. HTTP
3.1.1. HTTP정보
-
커넥션구분: 클라이언트, 서버
-
서버URL: URL을 설정한다.
-
컨텍스트패스: 컨텍스트 패스를 입력한다. 서버 URL과 포트번호, 그리고 컨텍스트 패스의 조합이 커넥션의 전체 URL이다.
-
KEEP ALIVE 여부: KEEP ALIVE 여부를 설정한다.
-
전송타임아웃(밀리초): HTTP 요청을 수신할 때 사용하는 타임아웃이다. 이 값을 등록하지 않을 경우 시스템 파라미터에 HTTP_REQUEST_WAIT_TIMEOUT 값이 적용된다.
전송타임아웃은 거래에 대한 타임아웃 시간보다 큰 값을 설정해야 정상적으로 동작한다. |
서버 커넥션의 접근 가능한 URI
서버 커넥션은 컨텍스트패스 유무에 따라 접근 가능한 URI가 달라진다.
|
3.1.2. 헬스체크정책
커넥션의 헬스체크 방법, 전송 주기 및 단락조건 등의 정보를 설정한다. 헬스체크방법은 송수신이없을 때, 지정된 시간간격 등으로 구분된다. 송수신이없을 때 방식은 송수신이 없는 IDLE이 발생할 경우에 헬스체크 하는 방식이며, 일반적으로 사용된다. 지정된 시간간격 방식은 지정된 시간간격으로 헬스체크를 하는 방식이다.
각 구성항목에 대한 설명은 다음과 같다.
-
헬스체크간격(초): 헬스체크하는 시간 간격을 설정한다. (기본값: 60)
-
단락(Disconnect) 조건 횟수: 헬스체크 전문에 대한 응답이 없을 경우 세션을 끊기 위한 횟수를 입력한다. (기본값: 3)
3.2. TCP
3.2.1. TCP정보
-
송수신구분: 송수신 구분을 설정한다.
-
커넥션구분: 클라이언트, 서버
-
IP도메인, PORT: 커넥션구분에 따라 접속할 대상 혹은 Listen할 서버의 IP/PORT를 설정한다.
-
커넥션유지여부: 유지(Connection-Oriented), 비유지(Connectionless)를 설정한다. 커넥션유지는 클라이언트 모드에서 인터페이스 처리를 커넥션 연결 유지 상태에서 처리하고, 커넥션비유지는 클라이언트 모드에서 인터페이스의 요청에 대한 응답이 처리되면 커넥션의 연결을 종료한다.
-
에러조건수: 커넥션 비유지인 경우, 커넥션 연결이 계속해서 실패하면 해당 커넥션을 사용할 수 없도록 한다. 이 경우 커넥션 연결을 몇번까지 시도할 것인지 최대 값을 입력해 해당 횟수 이상으로 연결이 안 되면 해당 커넥션을 Disable한다.
-
총세션수: 클라이언트 모드이면 하나의 커넥션으로 연결할 세션 수를 입력하고, 서버 모드이면 연결을 받아줄 세션 수를 입력한다.
3.2.2. 커넥션재시도정책
커넥션 구분이 클라이언트이면서 연결 유지 커넥션의 연결이 끊어졌을 때 재연결에 대한 정책 정보를 등록한다.
각 구성항목에 대한 설명은 다음과 같다.
-
커넥션재시도간격(초): 커넥션이 끊어졌을 때 재연결을 위한 간격을 설정한다.
-
커넥션재시도횟수: 커넥션이 끊어졌을 때 재연결을 위한 재시도 최대 횟수를 설정한다.
-
커넥션재시도대기시간(초): 커넥션 재시도 횟수를 초과한 경우 일정 시간 이후 다시 커넥션 재시도를 하게 되는데, 이때 대기할 대기시간을 설정한다. 0으로 설정할 경우에는 재시도를 하지 않고 종료한다.
3.2.3. 헬스체크정책
커넥션의 헬스체크 방법, 전송 주기 및 단락조건 등의 정보를 설정한다. 헬스체크방법은 송수신이없을 때, 지정된 시간간격 등으로 구분된다. 송수신이없을 때 방식은 송수신이 없는 IDLE이 발생할 경우에 헬스체크 하는 방식이며, 일반적으로 사용된다. 지정된 시간간격 방식은 지정된 시간간격으로 헬스체크를 하는 방식이다.
각 구성항목에 대한 설명은 다음과 같다.
-
헬스체크간격(초): 헬스체크하는 시간 간격을 설정한다. (기본값: 60)
-
단락(Disconnect) 조건 횟수: 헬스체크 전문에 대한 응답이 없을 경우 세션을 끊기 위한 횟수를 입력한다. (기본값: 3)
단, 커넥션 구분이 클라이언트이면서 비유지 커넥션은 설정할 수 없다. |
3.2.4. 소켓 옵션
TCP 커넥션의 소켓옵션을 설정한다. 데이터를 보내거나 받는 방법을 지정한다. 소켓 옵션은 전송버퍼 옵션, 운영관리 옵션 등으로 구분된다.
전송버퍼 옵션
-
네이글알고리즘여부: 네트워크 전송 알고리즘인 Nagle 알고리즘 사용여부를 나타낸다. 참고로 Nagle 알고리즘이 적용되면, 운영체제는 패킷을 ACK가 오기를 기다렸다가 도착하면, 그 동안 쌓여있던 데이터를 한꺼번에 보내게 된다.
-
소켓송신/수신버퍼크기: TCP 소켓의 송신/수신 버퍼 크기를 나타낸다
운영관리 옵션
-
그레이스다운: 데이터 유실 없이 정상적으로 종료하기 위한 설정이다. 설정값(초)은 종료대기를 시간을 의미하며, 0을 설정할 경우 대기하지 않고 바로 종료한다.
-
하프Close여부: TCP 소켓의 Half close 옵션을 사용할 것인지를 선택한다. 참고로 하프Close란 송신쪽에서 데이터를 WRITE하고 스트림 한쪽을 닫는 방식을 의미한다.
특별한 경우가 아니면 Half close 옵션을 사용하지 말 것을 권장한다.
-
커넥션타임아웃시간: 커넥션 구분이 클라이언트인 경우 상대방과 연결하기 위한 최대 대기 시간을 나타낸다. (기본: 10초)
-
전송타임아웃(밀리초): 전문을 전송한 후, 응답을 수신하기 위한 대기하는 시간
3.2.5. 핸들러정보
사용자 핸들러는 커넥션의 이벤트에 대해 처리하는 사용자 프로그램이다. 커넥션 이벤트는 네트워크 소켓에서 발생하는 커넥션 활성화 (channelActive), 데이터 읽기 (channelRead), 데이터 읽기 완료 (channelReadComplete), 커넥션 비활성화 (channelInActive) 등의 이벤트를 의미한다. 사용자핸들러 프로그램은 사전에 프로그램정보 화면을 통해 등록되어 있어야 한다. 핸들러 프로그램 개발 방법은 코덱/핸들러 프로그램을 참조한다.
핸들러 종류
|