메시지가있어서이를 가변 개수의 큐로 처리해야합니다. 대기열은 전자 메일, 감사, Webhook 처리, s3 저장과 같은 다른 목적을 처리합니다. 각 메시지는 해당 주제의 일부 또는 전체를 대상으로 가질 수 있습니다.RabbitMQ 주제 교환 1, 일부 또는 모든 주제에 대한 메시지 - 어떻게 구조화할까요?
- 메시지 1 : 예를 들어, 나는 다음과 같은 메시지가있을 수
- 메시지 3으로 webhook :
- 메시지 2 audit.webhook
주 email.audit.webhook.s3을 그 4 가지 주제를 시연했지만 잠재적으로 100 가지가 될 수 있습니다. 주제 교환에 의해 처리 될 수 있습니까? 예를 들어, .webhook를 주제로합니다. 메시지 2가 누락 되었습니까? 대기열 webhook. *, .webhook에 세 가지 주제를 추가 할 수 있습니까? 및 * .webhook을 사용하여 모든 잠재적 메시지를 처리하거나 웹 후크가 어디서 발생할지 정확한 위치를 알아야합니다 (예 : ). .webhook. .. * 또는 .webhook. 메시지 1과 메시지 3 모두를 캡처하는 데 충분합니까? 주제 교환을 통해 전혀 처리 할 수 있습니까? 아니면이 모든 것을 잘못보고 있습니까? 그것은 그 경로를 표시 추가 테스트
후
편집 내가 기대했다만큼 유연하지 않습니다. 달성하려는 작업을 수행하기 위해 웹 후크 대기열에 대한 바인딩 (예 : )이 있어야합니다.. *. webhook 및 메시지는 항상 네 번째 위치에 webhook을 유지해야하므로 webhook에만 연결되는 메시지의 라우팅 키는 예를 들어 "null, null, null, webhook, ?, NULL, NULL 등
이것이 바로 보이지 않기 때문에 내가 물어 내 테스트를 정확 좀 더 유연성, 즉 있다고 생각합니다 :.. 내가 달성하기 위해 원하는 것을 달성하기 위해 더 나은 방법이
# .webhook. #은 내가 찾고있는 해결책이었습니다. 더 나은 디자인을 제안 할 수 있습니까? 나는 메시지 배포의 패턴이 완전히 무작위 적이기 때문에 (메시지 당 사용하고자하는 큐까지 클라이언트에 따라) 성취 할만한 것을 생각할 수 없었다. – AlexGad
주요 변경 사항은 라우팅 키의 형식을 권장하는 것입니다.예를 들어 webhook은 항상 먼저 감사가 수행되고 필요한 경우 다른 것이됩니다. 그래서 당신은 webhook, webhook.audit과 webhook.audit.email.s3을 가질 것입니다. – robthewolf