저는 다양한 클라이언트가 하루 중 짧은 시간 동안 연결하는 메시지 브로커를 보유하고 있습니다.ActiveMQ - 관심있는 가입자 만있는 데이터를 게시하기위한 전략?
브로커는 수천 가지의 가격을 게시 할 수있는 주제를 유지하지만 현재 연결되어있는 클라이언트 세트는 항상 이러한 항목의 작은 하위 집합에만 관심이 있습니다.
밀접하게 결합 된 시스템에서 클라이언트는 명시 적으로 특정 항목을 구독하고 서버는 클라이언트 연결/연결 끊기 이벤트 (연결이 끊어진 클라이언트 자동 수신 거부)를 추적하고 클라이언트가 가입 한 항목의 가격 만 게시합니다.
ActiveMQ와 같은 메시징 시스템의 느슨하게 결합 된 세계에서 이러한 종류의 문제를 처리하는 가장 좋은 방법은 무엇입니까?
제 경우 브로커는 제 3 자 시스템으로부터 가격을 얻으면서 가격을 게시하는 대상의 수를 최소화해야합니다. 제 3 자 시스템은 가격이 주어진 시점에서 스트리밍 될 수있는 시각.
첫 번째 경향은 저레벨 이벤트를 추적하고 현재 연결되어있는 브로커에게 알려주고 고객이 더 이상 특정 항목의 가격에 관심이 없다는 것을 명시 적으로 신호하도록 요구하지 않는 것입니다.
대신 클라이언트는 주어진 항목 세트에 대해 가격에 대한 관심을 정기적으로 발표합니다. 중개인은 적극적인 관심이있는 모든 것에 대한 가격을 발표 할 것이고, 결국 고객이 최근 관심을 표명하지 않은 것에 대한 가격을 공개하지 않을 것입니다.
더 단단히 결합 된 시스템과 달리 클라이언트는 가격을 원하는 특정 세트에 대한 관심을 다시 발표해야하지만 적극적으로 관심 종결을 발표해서는 안됩니다.
이런 종류의 문제에 대한 더 나은 표준 접근 방식이 있습니까?