2010-04-22 2 views
4

각 수집이 행을 채우는 데이터 수집 서버가 포함될 시스템을 개발할 것입니다. 또한 새로운 데이터가 수집 된시기를 사용자 응용 프로그램에 알릴 수있는 능력이 필요합니다.메시지 대기열과 데이터베이스를 모두 사용합니다.

내가 읽은 것으로부터 데이터베이스를 메시지 대기열로 사용하는 것은 좋지 않으며 그 반대의 경우도 있지만 두 가지를 모두 사용할 수 있는지 궁금합니다.

획득 응용 프로그램은 새 행을 데이터베이스에 추가 한 다음 메시징 시스템의 수신기에 알릴 수 있습니다. 이것이이 유형의 시스템을위한 최선의 접근 방법일까요? 너무 복잡할까요? 이미 이것을 구현 한 디자인 패턴이 있습니까?

+0

@ CookieOfFortune- 나는이 동일한 문제로 고심하고 있습니다. 데이터베이스 대신 메시지 대기열을 사용하는 이유를 설명하는 y 기사가 있습니까? –

+0

남자,이 질문은 오래 전이었습니다. 내가 생각하기에 "사건"과 "지속성"은 분리되어야한다는 것입니다. 원하는 경우 데이터베이스를 사용하여 이벤트를 구현할 수 있지만 개념적으로 저장 영역과 독립적이어야합니다. 메시지 만 사용하면 프로세스가 상태없이 작동 할 수 있기 때문에 이점이 있습니다. 이렇게하면 코드를 더 간단하게 만들 수 있습니다 (특히 병렬 처리하려는 경우). 메시지 대기열을 사용하는 측면에서는 이벤트에 특화되어 있습니다. 즉, 아마 그들은 더 나은 성능을 가지게 될 것이고 더 복잡한 메시징 체계를 허용 할 것입니다. – CookieOfFortune

답변

2

예, 데이터베이스에 행을 삽입하고 GUI를 업데이트하는 것은 별개의 두 가지 작업입니다.

당신이 좋은 소리를 제안 무엇 :

  1. 알림 메커니즘을 통해 사용자 응용 프로그램을 통지 DB를
  2. 에 행을 삽입 (청취자가 잘 할 것이다).