공개/등록 메시징과 워크로드 공유
공개/등록 메시징에서 메시징 시스템은 모든 공개된 메시지에 대한 한 개의 사본을 각 일치 등록으로 전송합니다. 등록자, 즉 공개/등록 메시지를 이용하는 애플리케이션은 개별 등록에서 해당 메시지를 이용합니다. 애플리케이션의 다중 인스턴스에서 워크로드를 밸런싱하기 위해 예를 들어, 애플리케이션이 서버 클러스터에서 실행되는 경우 애플리케이션의 모든 인스턴스는 동일한 등록을 사용해야 합니다.
그림 1에서는 이 구성에서 종료일의 한 개 인스턴스만 등록으로 전송되는 각 메시지를 처리합니다. 그렇지만 그림 2에서는 동일한 애플리케이션의 다른 인스턴스가 다른 등록에서 메시지를 수신하도록 구성된 경우 각 인스턴스는 모든 일치하는 메시지의 사본을 처리하여 각 메시지가 분산됩니다.


지점간 메시징의 경우 큐 대상을 사용하고 큐를 파티션하고 메시지의 워크로드 밸런싱을 유지할 수 있습니다. 그렇지만 이 방식으로 등록을 파티션할 수는 없습니다.
공개/등록 메시지의 경우 다중 애플리케이션 인스턴스가 동일한 등록을 사용하도록 하고 메시지 워크로드의 밸런스를 유지하려면 지속 가능 등록을 사용해야 합니다. 애플리케이션의 다중 인스턴스는 동일한 등록에서 동시에 이용할 수 있습니다. 이 유형의 등록을 공유 지속 가능 등록이라고 합니다. 공유 지속 가능 등록을 구성하기 위해 관련 연결 팩토리 및 활성화 스펙에 대해 공유 지속 가능 등록 특성을 설정합니다.
지속 가능 등록에는 홈 메시징 엔진 및 고유 ID가 포함되며 이는 클라이언트 ID와 등록 이름에서 양식화됩니다. 메시징 시스템은 활성 등록자가 없는 경우에도 등록에 대해 일치하는 새 공개를 누적할 수 있습니다. 홈 메시징 엔진은 공개 위치를 사용하여 등록에 대해 메시지를 누적합니다. 등록자가 시작 또는 다시 시작되면 메시징 시스템은 고유 ID와 홈 메시징 엔진을 사용하여 공개 위치를 식별하고 지속 가능 등록을 찾은 후에 모든 누적된 메시지를 전달합니다.
지속 가능하지 않은 등록에는 고유 ID가 없습니다. 해당 등록자의 사용 기간만 지속됩니다. 다중 애플리케이션 인스턴스는 동일한 지속 가능하지 않은 등록에서 메시지를 수신할 수 없습니다.
- 클러스터 내
- 버스는 클라이언트가 동일한 클라이언트 ID와 지속 가능 등록 이름을 사용하는 경우 동일한 클러스터의 버스 멤버에 연결하는 클라이언트 사이에서 작업을 분배합니다.
- 항상 공유
- 버스는 버스에 연결하는 위치, 클라이언트가 동일한 클라이언트 ID와 지속 가능 등록 이름을 사용하는 경우에 상관없이 클라이언트에서 작업을 분배합니다.
- 공유 안함
- 클라이언트가 기존 세션과 동일한 클라이언트 ID 및 지속 가능 등록 이름을 사용할 수 없습니다.