|
주제와 큐의 가장 큰 차이점은 주제가 방송 형태로 이루어져 모든 온라인 청취 클라이언트에게 새 메시지가 있음을 알리고, 모니터링이 없는 클라이언트는 메시지를 받지 못한다는 점입니다; 반면 큐는 여러 리스닝 클라이언트 중 한 곳에 피어 투 피어 방식으로 알림을 보냅니다.
2 주제 방식과 큐 방식 간 메시지 처리 효율성 비교 듣기 클라이언트의 동시성 수를 늘려 듣기 클라이언트의 동시성 증가로 인해 주제의 메시지 푸시가 크게 감소하는지 검증합니다. 측정된 결과로 보면, 1명의 구독자와 100명의 구독자 전제에서 주제 메서드가 보내는 메시지 주고 수신 효율성에 유의미한 차이가 없지만, 500명의 구독자(스레드) 동시성을 가정할 때는 효율성 차이가 명확합니다(500개의 스레드가 동시적으로 작동하기 때문에 제 컴퓨터의 CPU 사용률이 70-90%에 달하므로, 로컬 테스트 때문인지 주제 메시지 전송 방식의 성능 병목 현상인지 확인할 수 없습니다). 이로 인해 효율성이 크게 저하된다). 1명의 구독자와 100명의 구독자 전제에서 주제 방식과 큐 모드로 전송되는 메시지 송수신 효율성에는 유의미한 차이가 없지만, 500명의 가입자 동시성을 가정할 때는 토픽 모드의 효율성이 큐보다 현저히 낮습니다. 큐 방식에서 전송된 메시지 송수신 효율성은 1명의 가입자, 100명의 가입자, 500명의 가입자 전제 하에서 크게 변하지 않습니다. 주제별 측정 데이터:
| 발신자가 보낸 총 메시지 수
| 모든 가입자가 받은 총 메시지 수
| 메시지를 주고받는 데 걸리는 평균 시간입니다
| 단일 가입자
| 100
| 100
| 101ms
| 구독자 100명
| 100
| 10000
| 103ms
| 구독자 500명
| 100
| 50000
| 14162ms
|
대기열 측정 데이터:
| 발신자가 보낸 총 메시지 수
| 모든 가입자가 받은 총 메시지 수
| 메시지를 주고받는 데 걸리는 평균 시간입니다
| 단일 가입자
| 100
| 100
| 96ms
| 구독자 100명
| 100
| 100
| 96ms
| 구독자 500명
| 100
| 100
| 100ms
|
|