Telemetry 클라이언트에서 메시지를 수신하기 위해 메시지 플로우를 작성하는 경우 최소한 하나의 SCADAInput 노드를 포함시켜야 합니다. 새 메시지를 대기하는 포트를 정의하는 등록 정보를 구성하십시오. 메시지 플로우가 Telemetry 클라이언트에 메시지를 송신하는 경우 Publication 노드 또는 SCADAOutput 노드를 포함시켜야 합니다(Publication 노드에는 임베드된 SCADAOutput 노드가 포함됨).
SCADAInput 및 SCADAOutput 노드가 포함된 메시지 플로우를 브로커의 단일 실행 그룹으로 전개해야 합니다. Publication 노드를 통해 Telemetry 클라이언트로 메시지를 송신하는 경우 Telemetry 클라이언트로부터 메시지를 수신하는 메시지 플로우가 없어도 이 노드가 들어 있는 메시지 플로우도 SCADAInput 노드와 동일한 실행 그룹에 있어야 합니다. 이것은 메시지 핸들링 방식의 특성 및 SCADAInput 노드의 등록 정보가 클라이언트와의 통신에 사용되는 TCP/IP 포트를 식별하기 때문입니다.
$SYS/SCADA/MQIsdpListener/<port_number> 토픽을 가진 publish 메시지를 사용하여 WebSphere MQ Telemetry Transport 리스너를 시작하고 정지하십시오. 메시지 세트의 페이로드(payload) 부분을 ON 또는 OFF로 설정하십시오. <port_number>를 시작하거나 정지할 단일 포트로 대체하거나 또는 SCADA 포트로 지정된 시스템의 모든 포트를 시작하거나 정지하려면 모두로 대체하십시오.
메시지 플로우에서 핸들링하는 메시지 수는 메시지 처리량 및 응답 시간에 따라 다릅니다. 메시지 플로우 응답 시간 최적화 및 메시지 플로우 처리량 최적화의 지침을 검토하십시오. 또한 Telemetry 클라이언트에서 수신되거나 이 클라이언트로 publish되는 메시지에 대해 선택하는 QOS를 고려해야 합니다. 이에 대해서는 QOS 선택에 설명되어 있습니다.
QOS는 메시지 전달의 신뢰성을 판별합니다. 메시지가 처리되는 상황을 검토하십시오. 어떤 경우에는 메시지 손실을 승인할 수도 있습니다. 다른 시나리오에서는 메시지 전달을 보장해야 합니다. QOS 옵션인 QoS0, QoS1 및 QoS2는 WebSphere MQ Telemetry Transport QoS 레벨 및 플로우에 설명되어 있습니다.
메시지 전달을 보장하도록 선택하는 경우 브로커는 추가 조치를 수행하여 메시지가 전달되었음을 확인할 수 있을 때까지 메시지를 보존해야 합니다. 이 경우 브로커 및 클라이언트 성능에 영향을 주므로 메시지 처리 속도의 필요성과 메시지 전달 확인의 필요성의 밸런스를 맞추어야 합니다.
메시지를 최소한 한 번 또는 한 번만 전달해야 함을 표시하는 QoS1 또는 QoS2를 선택하는 경우 브로커 및 클라이언트는 일정한 레벨의 수신확인을 제공해야 합니다. 브로커는 적절한 수신확인이 수신되지 않으면 메시지를 다시 송신할 수 있도록 메시지를 저장해야 합니다.
브로커는 데이터베이스에 메시지를 저장합니다. 이 것은 브로커가 필요할 때 데이터베이스에 대한 입력 또는 출력을 완료할 수 없는 경우 메시지 핸들링에 영향을 줄 수 있습니다. 브로커는 이러한 상태가 발생하면 메시지 처리를 정지할 수도 있습니다. 브로커 데이터베이스가 DB2인 경우 DB2 다음 키 잠금을 꺼서 이러한 교착 상태 문제를 방지하십시오. DB2 명령 창에서 다음 명령을 실행하여 이를 변경하십시오.
db2set DB2_RR_TO_RS=YES
DB2 데이터베이스 관리자를 재시작하여 이 변경사항을 적용하십시오.
QoS0을 선택하면 메시지 전달이 보장되지 않습니다. 브로커는 메시지를 저장하지 않습니다.