노드 RED 및 MQTT를 사용하는 오케스트레이션 시스템에서 작업하고 있습니다. 나는 치료로부터 사건 획득을 분리하기로 결정했다. 주요 목표는 대기열에있는 이벤트를 신속하게 푸시하고 가능한 한 빨리 실시간으로 처리하는 것입니다.노드 -RED 및 MQTT의 동기 소비
시스템은 다음과 같이 작동합니다 :
- 나는 듣고에서 이벤트를 읽어 다른 흐름에 HTTP 나머지 API에 대한 이벤트,
- 밀어 MQTT 주제에이 이벤트,
- 를받을 MQTT 주제,
- 이 이벤트에서 몇 가지 조치/프로세스를 시작하십시오 (최대 5/10 초).
하지만 문제가 발생했습니다. 두 개의 관련 이벤트가 너무 빨리 수신되면 두 번째 이벤트가 첫 번째 이벤트 처리를 변경할 수 있습니다. 이를 해결하기 위해 이벤트 소비/처리를 동기화하여 순서대로 유지하려고합니다.
MQTT QoS 2 메시지가 순서대로 전달됩니다. 노드 - 레드에서 동기화 패러다임을 간단하게 구현하려면 어떻게해야합니까? 이벤트 처리 중 MQTT Client 수신을 피할 수 있습니까?
MQTT를 사용하여 수신 된 요소를 HTTP를 통해 복원 메커니즘으로 큐에 넣습니다. RATE 제한 기는 시간 소비에 기반을두고 병렬 처리를 피하기 때문에 사용할 수 없습니다. – Spawnrider