4.21.2. 주소 연합을 위한 공통 토폴로지

주소 페더레이션 사용을 위한 몇 가지 일반적인 토폴로지는 아래에 설명되어 있습니다.

대칭 토폴로지

대칭 토폴로지에서 생산자와 소비자는 각 브로커에 연결됩니다. 큐와 해당 소비자는 두 생산자가 게시한 메시지를 수신할 수 있습니다. 대칭 토폴로지의 예는 다음과 같습니다.

그림 4.1. 대칭 토폴로지의 주소 페더레이션

대칭 토폴로지에 대한 주소 연합을 구성할 때 주소 정책의 max-hops 속성 값을 1 로 설정하는 것이 중요합니다. 이렇게 하면 메시지가 한 번만 복사되므로 순환 복제를 방지할 수 있습니다. 이 속성이 더 큰 값으로 설정된 경우 소비자는 동일한 메시지의 여러 복사본을 수신합니다.

전체 메시 토폴로지

전체 메시 토폴로지는 대칭 설정과 유사합니다. 3개 이상의 브로커는 대칭적으로 서로 연결되고 전체 메시를 생성합니다. 이 설정에서 생산자와 소비자는 각 브로커에 연결됩니다. 큐와 해당 소비자는 모든 생산자가 게시한 메시지를 수신할 수 있습니다. 이 토폴로지의 예는 다음과 같습니다.

그림 4.2. 전체 메시 토폴로지의 주소 페더레이션

대칭 설정과 같이 전체 메시 토폴로지에 대해 주소 페더레이션을 구성할 때 주소 정책의 max-hops 속성 값을 1 로 설정하는 것이 중요합니다. 이렇게 하면 메시지가 한 번만 복사되므로 순환 복제를 방지할 수 있습니다.

링 토폴로지

브로커 링에서 각 페더레이션 주소는 링에서 서로의 업스트림입니다. 이 토폴로지의 예는 다음과 같습니다.

그림 4.3. 링 토폴로지의 주소 페더레이션

링 토폴로지에 대한 페더레이션을 구성할 때 사이클 복제를 방지하기 위해 주소 정책의 max-hops 속성을 n-1 값으로 설정하는 것이 중요합니다. 여기서 n 은 링의 노드 수입니다. 예를 들어 위에 표시된 링 토폴로지에서 max-hops 값은 5 로 설정됩니다. 이렇게 하면 링의 모든 주소가 정확히 한 번 메시지를 볼 수 있습니다.

링 토폴로지의 장점은 필요한 물리적 연결 수 측면에서 설정하는 것이 저렴합니다. 그러나 이러한 유형의 토폴로지의 단점은 단일 브로커가 실패하면 전체 링이 실패한다는 것입니다.

팬 아웃 토폴로지

팬 아웃 토폴로지에서 단일 마스터 주소는 연합 주소 트리에 의해 연결됩니다. 마스터 주소에 게시된 모든 메시지는 트리의 브로커에 연결된 모든 소비자가 수신할 수 있습니다. 트리를 모든 깊이로 구성할 수 있습니다. 트리의 기존 브로커를 재구성할 필요 없이 트리를 확장할 수도 있습니다. 이 토폴로지의 예는 다음과 같습니다.

그림 4.4. 팬 아웃 토폴로지의 주소 페더레이션

팬 아웃 토폴로지에 대한 페더레이션을 구성할 때 주소 정책의 max-hops 속성을 n-1 씩 설정했는지 확인합니다. 여기서 n 은 트리의 수준 수입니다. 예를 들어 위에 표시된 팬 아웃 토폴로지에서 max-hops 값은 2 로 설정됩니다. 이렇게 하면 트리의 모든 주소가 정확히 한 번 표시됩니다.