문제

저는 야심 찬 웹 응용 프로그램 프로젝트에 앉아있는 시작 웹 개발자입니다.

그래서 일부 연구를 마친 후 SQL 서비스 브로커에 대해 알게되었습니다. 내가 사용할 수있는 것 같지만 확실하지 않습니다. 배우기에는 누군가가 많은 시간을 투자해야하기 때문에, 나는 그것이 내 필요에 맞을 것이라고 확신하고 싶었습니다.

웹 사이트 사용자가 웹 사이트에 텍스트를 제출할 수있는 시스템을 구현해야합니다. 이 메시지 스트림은 FIFO 방식으로 중복되고 처리되어야하며, 다른 그룹의 사용자가 메시지를 다루는 다른 그룹의 사용자가 스트림의 다른 쪽 끝에 있습니다.

이제이 마지막 사용자 그룹 중 하나가 읽고있는 메시지는 아무도 동시에 읽을 수 없도록 잠겨 있어야합니다. 그런 다음 사용자는 메시지를 처리하기로 결정할 수 있습니다. 그가 메시지를 처리하기로 결정한 경우에만 대기열에서 삭제할 수 있습니다. 그가 메시지를 다루고 싶지 않다고 결정하면 다른 사용자가 읽고 결정할 수 있도록 메시지를 대기열에 다시 넣어야합니다 (대기열 끝에 또는 최소한 우선 순위가 가장 높음). .

이것이 SQL 서비스 브로커로 구현할 수있는 것입니까? 내가 잘못된 트랙에 있습니까?

고맙습니다!

도움이 되었습니까?

해결책

서비스 중개인의 최상의 사용은 느슨하게 결합 된 방식으로 독립 응용 프로그램에 연결하는 것입니다. 내가 의미하는 바는 이런 방식으로 묶인 시스템이 상호 합의 된 메시지 유형을 통해 통신 할 수 있다는 것입니다. 예를 들어 다른 응용 프로그램의 데이터베이스를 직접 조작하는 한 응용 프로그램과 대조적입니다.

당신이 말한 바에서, 나는 그것을 간단한 테이블로 구현합니다. 연산자가 마지막 메시지를 가져 오기를 원할 때마다 할당 = 'n'에 대한 가장 낮은 PK 값을 얻고 할당을 'Y'로 업데이트하십시오. 이것은 단일 거래에서. 작업이 메시지를 대기열로 반환하기로 결정한 경우, 할당 플래그를 'N'및 뒷면으로 설정하십시오.

이것은 단지 예입니다. 이 경우 데이터베이스는 일관성, 무거운 부하 성능 등을 제공합니다.

화면 뒤에 SSB에 제출 한 모든 데이터는 테이블로 저장 및 조작되므로 데이터베이스 솔루션보다 반드시 빠를 이유가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top