대기열과 주제의 차이

Anonim

Queue vs Topic

Java 메시지 서비스 또는 단순히 JMS의 다양한 메커니즘 간의 접촉이 두 개 이상의 클라이언트에게 메시지를 보내는 매체입니다. 분산 응용 프로그램의 다양한 메커니즘 간의 접촉을 허용합니다. 이 메시지 지향 미들웨어는 지점 간 모델과 게시 또는 가입 모델 인 두 가지 모델을 가지고 있습니다. 이 두 모델에는 다른 이름도 있습니다. 지점 간 모델은 대기열 모델이라고도하며 게시자 또는 구독자 모델은 간단히 주제 모델이라고도합니다.

대기열 또는 지점 간 모델은 발신자가 대기열에 메시지를 놓음으로써 수신자가 대기열에서 메시지를 읽을 수있게하여 작동합니다. 그러나 게시자 또는 구독자 또는 주제 모델은 특정 주제에 대한 메시지를 게시하고 구독자가 읽도록하여 메시지를 보급함으로써 작동합니다.

이 두 모델에는 많은 차이점이 있습니다. 우리는 단순히 "큐"와 "토픽"이라고 부릅니다. 대기열에서 보낸 사람은 메시지가 어디에서 나올지 알고 있습니다. 특정 발신자와 특정 수신자가 있으며, 그와 같이 인정받을 의도가 있습니다. 반면에, 주제에는 게시자와 가입자 또는 가입자 만 있습니다. 게시자와 구독자 모두의 신원이 익명입니다.

두 가지 주요 차이점은 수신자 수입니다. 대기열에는 하나의 수신기 또는 소비자 만 있습니다. 당신이 당신의 메시지를 다수의 가입자들에게 전파 할 수있는 주제와는 달리. 또한 주제에서 구독자가 메시지를 수신하려면 게시자가 계속 활성 상태 여야합니다. 그렇지 않으면 메시지가 다시 할당됩니다. 대기열에서 발신자가 메시지를 보낼 때마다 메시지를 보낼 수 있으므로 타이밍에 대해 걱정할 필요가 없습니다. 그리고 수신기도 마찬가지입니다. 그 또는 그녀는 또한 그 또는 그녀가 원할 때마다 그것을 읽는 자유가있다. 대기열에서는 발신자가 수신자로부터 알림을받을 수 있기 때문에 메시지를 성공적으로 발송 했음에도 불구하고 주제 시스템에 대해서는 사실이 아님을 확신 할 수 있습니다. 구독자가없는 위험이 있습니다.

요약: <1. 지점 간 또는 대기열 모델은 발신자와 수신자 설정에 따라 작동합니다. 반면 게시자 / 구독자 또는 주제 모델은 게시판 설정에 따라 작동합니다. 2. 대기열 모델에서는 수신자의 신원을 확인하고 종종 발신자를 확인합니다. 주제 모델에서는 구독자와 게시자의 신원에 익명 성이 있습니다. 3. 대기열 모델은 하나의 수신자 만 허용됩니다. 반면에 주제는 여러 수신자를 가질 수 있습니다. 4. 대기열 모델에서 보낸 사람과받는 사람이 동시에 활성화되어 있지 않아도됩니다.주제 모델에서 타이밍은 매우 중요합니다. 5. 대기열 모델에서 메시지가 수신자에게 도착하면 발신자에게 알림이 전송됩니다. 반면에 주제 모델은 그러한 사실을 사용자에게 알리지 않으며 구독자가 없을 위험도 있습니다.