내구성 대기열
내구성 대기열은 ThingWorx Platform에서 Apache Kafka(온프레미스 배포의 경우) 또는 Azure Event Hubs(PTC 클라우드 배포의 경우)를 분산 이벤트 스트리밍 플랫폼으로 사용하는 대기열입니다. 이러한 플랫폼은 메시지 브로커 및 데이터 파이프라인 역할을 합니다. 이러한 대기열은 ThingWorx 노드의
메모리 내 대기열을 외부화하여 내구성 대기열 형태로 디스크 기반 스토리지에 전송합니다. 이 프로세스는 다음과 같은 방식으로 ThingWorx Platform의 내부 메시징을 개선합니다.
• 안정 상태 처리를 위해 최대 한 번 실행(각 메시지가 한 번만 전달되거나 전혀 전달되지 않음)을 보장하여 ThingWorx 안정성이 향상되었습니다. 내구성 대기열은 오버플로로 인한 데이터 손실이 없도록 합니다.
ThingWorx는 다음에 대해 내구성 대기열을 지원합니다.
• 순서가 지정되지 않은 이벤트(상태 비저장 구독으로 구독된 이벤트)
• 지속 속성
• 로깅된 속성
다음 다이어그램은 메모리 내 대기열과 내구성 대기열의 기능 흐름을 비교하여 보여줍니다. 메모리 내 대기열에 대한 자세한 내용은
메모리 내 대기열을 참조하십시오.
이벤트, 지속성 속성 또는 로깅된 속성에 대해 내구성 대기열을 활성화한 후 속성 쓰기가 내구성 대기열로 처리된 다음 메모리 내 대기열로 처리됩니다.
고가용성 구성의 내구성 대기열
내구성 대기열은
고가용성(HA) 구성도 지원합니다. HA 설정으로 구성된 Apache Kafka 또는 Azure Event Hubs 인스턴스가 하나 있어야 합니다. HA 구성에 대한 자세한 내용은
내구성 대기열의 크기 조정을 참조하십시오.
다음 다이어그램은 HA 환경에서 Apache Kafka를 통한
IoT 스트림의 흐름을 보여줍니다.
중요한 고려 사항
• 순서가 지정되지 않은 이벤트(상태 비저장 구독으로 구독된 이벤트)만 Kafka 또는 Event Hubs로 푸시됩니다. 상태 저장 이벤트는 기존 Akka Flows로 라우팅됩니다.
• 이벤트와 지속 속성 또는 로깅된 속성은 최대 한 번만 사용됩니다.
• Kafka 및 Event Hubs의 경우 데이터 보존은 기본적으로 24시간입니다.
• 플랫폼은 Kafka에 연결하여 토픽을 만들고 메시지를 보내고 받을 수 있습니다. 내구성 대기열이 활성화되면 Kafka가 중요한 인프라로 간주됩니다. Kafka에 연결하려고 할 때 문제(예: 자격 증명 불일치)가 발생하면 ThingWorx Platform이 시작되지 않습니다.