>

참고 :내가받은 응답에서 Azure Service Bus가이 작업에 적합한 도구가 아닌 것 같습니다. 다른 사람이 사용할 수 있도록 여기에 질문을 남깁니다.

<시간>

메시지를 게시하는 하나의 앱과 메시지를받는 여러 앱이있는 상황을 설정하고 싶습니다. 내가 볼 수있는 것에서 Azure 서비스 버스 주제 는이를 위해 설계되었습니다. 이 질문 에 대한 답변은 동일한 내용을 말합니다.

빠른 시작 샘플 은 두 개의 콘솔 응용 프로그램을 생성합니다. 하나는 메시지를 보내고 다른 하나는 메시지를 보냅니다. 수신자 앱의 인스턴스가 하나만 실행중인 경우에는 정상적으로 작동하지만 수신자의2인스턴스를 시작하면 그 중 하나만 메시지를받습니다.

CompleteAsync 에 대한 호출을 제거하려고했습니다.  메시지를 수신하는 코드에서는 차이가 없었습니다.

사용중인 코드는 해당 기사에 표시된 것과 동일하므로 여기에 모두 게시 할 필요는 없습니다.

기본적인 내용을 오해하고 있다고 확신하지만 주제와 구독을 통해 원하는만큼 수신자를 가질 수 있다고 생각했습니다.

내가 잘못한 것을 설명 할 수있는 사람이 있습니까?

  • 답변 # 1

    스케일 아웃 수신기는 단일 논리 엔드 포인트를 나타냅니다. 각 인스턴스가 복사본을 얻지 않도록 메시지를 더 빠르게 처리하도록 확장합니다. 필요한 경우 수신기는 논리적으로 다른 엔드 포인트가 아니어야합니다. 동일한 논리적 수신자/종료 점이 동일한 메시지를 두 번 처리해서는 안됩니다.

    요약하면 :

    메시지를 더 빠르게 처리하려면 동일한 수신자를 사용하고 확장하십시오.

    각 수신자가 모든 메시지를 수신하도록 보장해야하는 경우다른수신자를 사용하십시오.

  • 답변 # 2

    다른 수신자 대신 다른 구독 클라이언트가 있어야합니다. 두 개의 다른 위치에서 구독하려면 주제 아래에 두 개의 구독이 있어야합니다.

    이러한 방식으로, 각 수신자 애플리케이션마다 하나씩 두 구독에 대한 구독 클라이언트를 작성해야합니다. 두 애플리케이션에서 동시에 메시지를 수신 할 수 있습니다.

관련 자료

  • 이전 javascript - 하나의 배열/객체에 여러 변수를 강력하게 입력
  • 다음 안드로이드에서 딥 링크를 사용하여 앱을 열고 인수를 가져 오는 방법은 무엇입니까?