멀티캐스트 브로커 설정

Message Brokers Toolkit를 사용하거나 구성 관리자 프록시 Java API를 사용하여 멀티캐스트 브로커를 설정할 수 있습니다. 이 주제에서는 Message Brokers Toolkit을 사용하는 방법에 대해 설명합니다. 구성 관리자 프록시(CMP) 사용 방법에 대한 정보는 CMP를 사용한 응용프로그램 개발Class com.ibm.broker.config.proxy.BrokerProxy.MulticastParameterSet를 참조하십시오.

브로커가 멀티캐스트 요청을 처리할 수 있게 하려면 다음을 수행하십시오.

  1. 브로커 관리 perspective로 전환하십시오.
  2. 도메인 보기에서 해당 브로커 도메인을 펼치십시오.
  3. 토폴로지 항목을 두 번 눌러 브로커 토폴로지 편집기를 여십시오.
  4. 브로커 토폴로지 편집기에서 수정할 브로커를 마우스 오른쪽 단추로 누른 후 등록 정보를 선택하십시오.
  5. 등록 정보 창의 왼쪽 패널에서 멀티캐스트를 선택하십시오.
  6. 멀티캐스트 사용 선택란을 선택하십시오.
  7. 선택사항: 아래 나열된 등록 정보를 수집하십시오. 수정되지 않은 등록 정보는 디폴트 값을 수행합니다.
    프로토콜 유형
    멀티캐스트 프로토콜 유형.

    올바른 값은 "PTL", "PGM/IP" 및 "UDP encapsulated PGM"입니다. 디폴트 값은 "PTL"입니다.

    멀티캐스트 프로토콜 유형에 대한 설명은 멀티캐스트 프로토콜 유형을 참조하십시오.

    최소 주소
    브로커가 해당 멀티캐스트 전송에 사용할 수 있는 가장 낮은 IP 주소.

    범위는 224.0.0.0 - 239.255.255.255에 있어야 합니다. 디폴트 값은 239.255.0.0입니다.

    최대 주소
    브로커가 해당 멀티캐스트 전송에 사용할 수 있는 가장 높은 IP 주소.

    범위는 224.0.0.0 - 239.255.255.255에 있어야 하고 최소 주소 값보다 작을 수는 없습니다. 디폴트 값은 239.255.255.255입니다.

    데이터 포트
    멀티캐스트 패킷이 송수신되는 UDP 데이터 포트.

    디폴트 값은 34343입니다.

    브로커 패킷 크기
    멀티캐스트 패킷의 크기(바이트 단위).

    범위는 500 - 32000일 수 있습니다. 디폴트 값은 7000입니다.

    브로커 하트비트 시간 종료
    브로커는 각 클라이언트에 주기적으로, 초당 한 번, 제어 패킷을 송신합니다. 이 패킷은 다양한 제어 정보를 송신하고 하트비트를 유지하는 데 사용됩니다. 클라이언트가 트랜스미터 또는 네트워크 실패를 검출하는 데 도움을 주기 위해 하트비트 시간 종료 값이 클라이언트에 알려집니다. 제어 패킷이 이 등록 정보가 지정한 값의 두 배로 정의된 이전 제어 패킷 도착 시간(초 단위) 이내에 도달하지 않을 경우, 클라이언트는 트랜스미터 실패 또는 네트워크 실패를 의심할 수 있습니다.

    디폴트 값은 20입니다.

    브로커 멀티캐스트 TTL
    멀티캐스트 패킷이 클라이언트와 브로커 간에 만들 수 있는 최대 홉(Hop) 수. 이 값은 클라이언트와 브로커 간에 존재할 수 있는 최대 라우터 수보다 1이 큰 값입니다.

    디폴트 값은 1이며, 이는 멀티캐스트 패킷이 해당 진원지에 대해 로컬로 유지되어야 하며 라우터를 통과하지 않음을 의미합니다. 최대값은 255입니다.

    0 값을 사용하지 마십시오. 일부 운영 체제에서는 수신 중인 메시지를 막는 효과가 있지만 다른 운영 체제(예를 들면, Windows 2000, Windows XP 및 Linux)에서는 0 값이 이런 영향을 주지 않습니다.

    브로커 네트워크 인터페이스
    멀티캐스트 패킷이 전송되는 네트워크 인터페이스의 이름. 이것은 브로커가 둘 이상의 네트워크 인터페이스가 있는 호스트에서 실행 중일 때에만 관련이 있습니다.

    이것은 호스트 이름 또는 IP 주소일 수 있습니다. 디폴트는 '없음'입니다. 디폴트 값을 선택하면, 사용되는 네트워크 인터페이스는 운영 체제에 따라 결정됩니다.

    멀티캐스트 토픽 작동 겹침
    승인, 거부 또는 되돌리기를 선택하십시오.

    멀티캐스트 토픽 작동 겹침 등록 정보는 명시적으로 멀티캐스트가 불가능한 토픽이 포함된 토픽 계층에 속하는 토픽에 대해 클라이언트가 멀티캐스트 subscription을 요청할 때 브로커의 작동을 제어합니다.

    예를 들면, 멀티캐스트가 두 개의 하위 토픽(멀티캐스트 가능한 foo 및 멀티캐스트 불가능한 bar)을 포함하는 토픽인 토픽 계층을 고려하십시오.

    세 가지의 가능한 설정은 다음과 같습니다.
    승인
    일치하는 멀티캐스트 subscription이 승인되고, 토픽과 일치하는 모든 publication(명시적으로 제외된 것은 제외)이 멀티캐스트됩니다. 위의 예에서, multicast/#에 대한 멀티캐스트 subscription은 멀티캐스트를 통해 foo에 대해 publish되는 메시지를 수신하나, bar에 대해 publish되는 메시지는 수신하지 않습니다.
    거부
    브로커에서 멀티캐스트가 불가능한 하위 토픽을 포함하는 토픽에 대한 멀티캐스트 subscription을 거부합니다. multicast/#에 대한 subscription이 거부됩니다.
    되돌리기
    멀티캐스트에서 사용 불가능한 토픽 또는 멀티캐스트에서 사용 불가능한 하위 토픽이 있는 토픽의 subscription으로 유니캐스트 전송이 수행됩니다. multicast/#에 대한 멀티캐스트 subscription이 foobar에 대해 publish되는 메시지를 수신하나, 메시지는 멀티캐스트가 아닌 유니캐스트로 송신됩니다.

    디폴트 값은 승인입니다.

    최대 키 사용 기간
    토픽 암호화 키를 다시 정의해야 하는 토픽 암호화 키의 최대 사용 기간(분 단위).

    디폴트 값은 360입니다.

  8. 선택사항: 멀티캐스트 옆에 있는 +를 누른 후 고급을 누르십시오. 다음 추가 등록 정보를 수정할 수 있습니다.
    브로커 전송률 한계 활성화
    브로커 전송율 한계 값과 함께 브로커 전송율 한계 활성화를 사용하여 네트워크 혼잡을 제어하십시오. 드롭다운 메뉴에서 다음 값 중 하나를 선택하십시오.
    사용 안함
    멀티캐스트 데이터가 가능한 한 빨리 전송됩니다. 멀티캐스트를 위해 전송되는 메시지 전송률이 시스템 또는 네트워크 한도를 초과하는 경우(즉, 이더넷 속도 또는 호스트 CPU가 혼잡의 원인이 되는 경우), 이 한계값이 최대 전송률을 정의하며 이전에 전송된 모든 메시지가 송신될 때까지 메시지 전송이 정지합니다.
    정적
    전송률이 브로커 전송률 한계 값에 지정된 값에 의해 제한됩니다.
    동적
    클라이언트에서 보고하는 데이터 손실 및 혼잡 조건에 따라 런타임 동안 전송률의 한계 값이 달라질 수 있습니다. 그러나 전송률이 브로커 전송률 한계 값을 초과하지는 않습니다.

    디폴트는 사용 안함입니다. 정적을 선택할 경우 브로커 전송율 한계 값 등록 정보의 값을 선택할 수도 있습니다.

    브로커 전송률 한계 값
    이것은 멀티캐스트 패킷의 전체 전송률(초당 킬로비트 수)을 제한합니다. 이 매개변수는 브로커 전송률 한계 활성화 등록 정보가 정적으로 설정되어 있는 경우에만 유효합니다. 이 등록 정보는 시스템이나 네트워크의 최대 전송률을 초과해서는 안 됩니다.

    이 값의 범위는 10 - 1,000,000일 수 있습니다.

    클라이언트 NACK 백오프 시간
    클라이언트가 자체 고유의 NACK를 송신하기 전에 다른 클라이언트의 NACK를 대기하는 최대 시간(밀리세컨드 단위).

    이 값의 범위는 0 - 1000일 수 있습니다. 디폴트 값은 100입니다.

    클라이언트 NACK 점검 기간
    NACK 빌드에 대한 순서 갭 감지와 수신 상태의 주기적 점검 사이의 시간(밀리세컨드 단위).

    이 값의 범위는 10 - 1000일 수 있습니다. 디폴트 값은 300입니다.

    클라이언트 패킷 버퍼 수
    패킷 수신을 위해 시동 시 작성되는 메모리 버퍼 수. 사용 가능한 버퍼가 많을수록 수신 성능이 향상되고 높은 전달 속도에서의 패킷 손실이 최소화되지만 메모리 사용량은 증가합니다. 각 버퍼는 33KB이며, 500개의 버퍼(디폴트 값)는 약 15MB의 기본 메모리를 사용합니다.

    메모리 사용량이 중요한 경우에는 이 등록 정보에 여러 값을 사용하여 전송률이 높을 때 해당 값이 전체 응용프로그램의 성능에 미치는 영향을 관찰하십시오.

    이 값의 범위는 1 - 5000일 수 있습니다. 디폴트 값은 500입니다.

    클라이언트 소켓 버퍼 크기
    클라이언트 소켓 수신자 버퍼의 크기(KB 단위). 이 값을 늘리면 클라이언트 수신자가 취소할 수 있는 데이터 패킷의 수가 줄어듭니다.

    이 값의 범위는 65 - 10000일 수 있습니다. 디폴트 값은 3000입니다.

    브로커 실행 기록 정리 시간
    재전송 버퍼 정리를 위해 정의된 시간(초 단위).

    이 값의 범위는 1 - 20일 수 있습니다. 디폴트 값은 7입니다.

    주: 이 등록 정보는 버전 6에서 사용되지 않습니다.
    브로커 최소 실행 기록 크기
    전송되는 모든 패킷에 대한 아카이브로서 할당되는 버퍼의 최소 크기(KB 단위). 이 버퍼는 신뢰 가능한 모든 토픽에 의해 공유되며 손실된 패킷을 복구하는 데 사용할 수 있습니다.

    이 값의 범위는 1000 - 1,000,000일 수 있습니다. 디폴트 값은 60,000입니다.

    브로커 NACK 축적 시간
    복구된 패킷이 송신되기 전에 브로커에서 NACK가 집계되는 시간(밀리세컨드 단위).

    이 값의 범위는 50 - 1000일 수 있습니다. 디폴트 값은 500입니다.

    최대 클라이언트 메모리 크기
    클라이언트의 수신 버퍼에서 사용할 수 있는 최대 메모리 용량(KB).

    이 등록 정보는 PGM 멀티캐스트 프로토콜에만 적용됩니다. 디폴트 값은 262,144이며, 256MB를 나타냅니다.

    중요사항: 브로커 최소 실행 기록 크기와 같은 등록 정보 값을 늘리면 JVM(Java Virtual Machine)에 필수인 메모리 크기가 증가합니다. 따라서, 이 변경 후 처음으로 브로커에 subscription을 시도할 때 "JVM 메모리 부족"이 발생할 수 있습니다. 이 오류가 발생하면 JVM 힙(heap) 크기를 증가시키거나 위에서 증가시킨 등록 정보(예: 브로커 최소 기록 크기)의 값을 줄이십시오.
  9. 확인을 누르십시오.
  10. 브로커를 재시작하십시오. 변경사항을 적용하려면 재시작해야 합니다.

멀티캐스트를 사용하기 전에, 멀티캐스트가 가능한 일부 토픽을 정의해야 합니다.

브로커의 멀티캐스트 구성을 변경하는 권장되는 방법은 Workbench를 사용하는 것입니다. 그러나 mqsichangeproperties 명령을 사용하여 브로커의 등록 정보를 변경할 수도 있습니다.

다음 표는 멀티캐스트를 지원하는 mqsichangeproperties 명령의 해당 이름 위에 기술된 등록 정보와 연관시킵니다. mqsichangeproperties 명령에 대한 자세한 내용은 mqsichangeproperties 명령을 참조하십시오.
등록 정보 이름 mqsichangeproperties 매개변수
멀티캐스트 사용 multicastEnabled
프로토콜 유형 multicastProtocolType
최소 주소 multicastAddressRangeMin
최대 주소 multicastAddressRangeMax
데이터 포트 multicastDataPort
브로커 패킷 크기 multicastPacketSizeBytes
브로커 하트비트 시간 종료 multicastHeartbeatTimeoutSec
브로커 멀티캐스트 TTL multicastMCastSocketTTL
브로커 네트워크 인터페이스 multicastMulticastInterface
멀티캐스트 토픽 작동 겹침 multicastOverlappingTopicBehavior
최대 키 사용 기간 multicastMaxKeyAge
브로커 전송률 한계 활성화 multicastLimitTransRate
브로커 전송률 한계 값 multicastTransRateLimitKbps
클라이언트 NACK 백오프 시간 multicastBackoffTimeMillis
클라이언트 NACK 점검 기간 multicastNackCheckPeriodMillis
클라이언트 패킷 버퍼 수 multicastPacketBuffers
클라이언트 소켓 버퍼 크기 multicastSocketBufferSizeKbytes
브로커 실행 기록 정리 시간(V6에서 사용되지 않음) 적용할 수 없음
브로커 최소 실행 기록 크기 multicastMinimalHistoryKBytes
브로커 NACK 축적 시간 multicastNackAccumulationTimeMillis
최대 클라이언트 메모리 크기 multicastMaxMemoryAllowedKBytes
WBRK_BROKER 브로커에 대해 멀티캐스트를 사용으로 설정하려면 다음 명령을 사용하십시오.
   mqsichangeproperties WBRK_BROKER -o DynamicSubscriptionEngine -n multicastEnabled -v true
브로커가 멀티캐스트를 사용할 수 있게 되나, 브로커의 다른 등록 정보가 변경되지는 않습니다.
WBRK_BROKER 브로커에 대해 멀티캐스트를 사용으로 설정하고 전송률을 50,000(초당 킬로비트 수)으로 제한하려면 다음 명령을 사용하십시오.
   mqsichangeproperties WBRK_BROKER -o DynamicSubscriptionEngine -n multicastEnabled,
    multicastLimitTransRate,multicastTransRateLimitKbps -v true,Static,50000
브로커의 다른 등록 정보는 변경되지 않습니다.

쉼표를 사용하여 변경되는 등록 정보 및 해당 값을 구분합니다.

변경사항을 적용하려면 브로커를 재시작해야 합니다.

경고: mqsichangeproperties를 사용하여 수행한 브로커 구성 변경사항은 브로커 구성이 전개될 때 구성 관리자에 저장된 구성으로 덮어쓰여집니다.

관련 개념
멀티캐스트 publish/subscribe
멀티캐스트 프로토콜 유형
관련 태스크
브로커 등록 정보 수정
멀티캐스트로 토픽 작성
관련 참조
브로커 관리 perspective
mqsichangeproperties 명령
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
aq13150_