2017-04-12 1 views
1

이것은 인터뷰 질문입니다 - ActiveMQ의 대기열이 생산적인 환경에서 가득 차 있다면 어떻게해야합니까?ActiveMQ의 대기열이 생산적인 환경에서 가득 차 있다면 어떻게해야합니까?

다음 메시지는 버려야합니까? 또는 버퍼를 직접 구현하거나 DB에 저장해야합니까?

실제 생산 환경에서 일반적인 해결책을 알고 싶습니다.

+0

모든 프로세스가 메시지를 대기열에서 제외합니다. –

답변

3

간단한 답은 다음과 같습니다.

요구 사항. 우리는 알 수 없습니다. 다양한 접근 방식 중 어떤 것이 응용 프로그램의 비즈니스 목표를 충족시키는지를 이해해야합니다.

다른 말로하면 : 일반적인 대답이있을 수 없습니다. 일부 웹 페이지에서 클릭 수를 측정하는 경우 느슨한 것이 많지 않을 수 있습니다. 그러나 고객의 주문에 관해 이야기 할 때 단 하나의 제품을 잊지 않도록하십시오.

+0

좋습니다, 감사합니다. 솔직히 인터뷰 질문이기 때문에 답을 잘 모르겠습니다. MQ가 여러 시스템의 연결을 끊는 데 사용되면 메시지가 중요합니다. 이 경우, 버퍼를 직접 구현하거나 DB에 저장하는 것과 같은 세부 솔루션은 무엇입니까? 하지만 DB에 저장하는 것이 효율적이지 않다고 생각합니까? – Jeremy

+0

또 달라집니다. 메모리 버퍼를 구현할 때, 시스템이 충돌 할 때 여전히 이벤트를 풀 수 있습니다! 따라서 영구 저장소에 기록하는 것이 데이터 손실을 피하는 더 나은 전략 일 수 있습니다. 다른 한편으로는 이미 무언가가 잘못되고있는 상황에서 데이터베이스에 부하를 걸기 시작하여 문제가 악화 될 수 있습니다. – GhostCat

+0

@ 제레미 - 너 지금 실제로 인터뷰 중이 야 ??? 잘하셨습니다! –

관련 문제