부록 A. 수락 및 커넥터 구성 매개 변수
아래 표에는 Netty 네트워크 연결을 구성하는 데 사용되는 몇 가지 사용 가능한 매개 변수가 자세히 설명되어 있습니다. 매개 변수 및 해당 값은 연결 문자열의 URI에 추가됩니다.Parameters and their values are appended to the URI of the connection string. 자세한 내용은 네트워크 연결에서 허용자 및 커넥터 구성 을 참조하십시오. 각 표에는 허용자 또는 커넥터와 함께 사용할 수 있는지 여부에 따라 이름과 메모에 따라 매개 변수가 나열되어 있습니다. 예를 들어 일부 매개변수는 수락자에서만 사용할 수 있습니다.
모든 Netty 매개변수는 org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants
에 정의되어 있습니다. 소스 코드는 고객 포털에서 다운로드할 수 있습니다.
매개변수 | with… 사용 | 설명 |
---|---|---|
batchDelay | 둘 다 |
수락자 또는 커넥터에 패킷을 작성하기 전에 최대 |
connectionsAllowed | 수락자 | 수락자가 허용할 연결 수를 제한합니다. 이 제한에 도달하면 DEBUG 수준 메시지가 로그에 발행되고 연결이 거부됩니다. 사용 중인 클라이언트 유형에 따라 연결이 거부될 때 발생하는 상황이 결정됩니다. |
directDeliver | 둘 다 |
메시지가 서버에 도착하고 대기 소비자에게 전달되면 기본적으로 배달은 메시지가 도착한 것과 동일한 스레드에서 수행됩니다. 이렇게 하면 상대적으로 적은 메시지와 소비자 수가 적은 환경에서 적절한 대기 시간을 제공할 수 있지만, 특히 멀티코어 시스템에서 전체 처리량과 확장성에 따라 비용이 많이 듭니다. 대기 시간을 줄이고 처리량이 감소할 수 있는 경우 |
handshake-timeout | 수락자 | 인증되지 않은 클라이언트가 많은 수의 연결을 열고 이를 열어 두지 않도록 합니다. 각 연결에는 파일 처리가 필요하므로 다른 클라이언트에서 사용할 수 없는 리소스를 사용합니다. 이 제한 시간은 연결에서 인증하지 않고 리소스를 사용할 수 있는 시간을 제한합니다. 연결이 인증되면 리소스 제한 설정을 사용하여 리소스 사용을 제한할 수 있습니다.
기본값은 timeout 값을 편집한 후 브로커를 다시 시작해야 합니다. |
localAddress | 커넥터 | 원격 주소에 연결할 때 클라이언트가 사용할 로컬 주소를 지정합니다. 일반적으로 Application Server에서 사용되거나 embedded를 실행하여 아웃바운드 연결에 사용되는 주소를 제어할 때 사용됩니다. local-address가 설정되지 않은 경우 커넥터는 사용 가능한 로컬 주소를 사용합니다. |
localPort | 커넥터 | 원격 주소에 연결할 때 클라이언트가 사용할 로컬 포트를 지정합니다. 일반적으로 Application Server에서 사용되거나 embedded를 실행하여 아웃바운드 연결에 사용되는 포트를 제어할 때 사용됩니다. 기본값을 사용하는 경우 0이면 커넥터가 시스템에서 임시 포트를 선택하도록 합니다. 유효한 포트는 0에서 65535까지입니다. |
nioRemotingThreads | 둘 다 |
NIO를 사용하도록 설정한 경우 브로커는 기본적으로 들어오는 패킷을 처리하기 위해 |
tcpNoDelay | 둘 다 |
만약 이것이 |
tcpReceiveBufferSize | 둘 다 |
TCP 수신 버퍼의 크기(▂ 바이트)를 결정합니다.Determines the size of the TCP receive buffer in bytes. 기본값은 32768 |
tcpSendBufferSize | 둘 다 |
TCP 전송 버퍼의 크기를 바이트 단위로 결정합니다. 기본값은 32768 TCP 버퍼 크기는 네트워크의 대역폭 및 대기 시간에 따라 조정되어야 합니다. 요약하면 TCP 전송/받기 버퍼 크기는 다음과 같이 계산되어야 합니다. buffer_size = bandwidth * RTT.
대역폭이 초당 바이트 단위이고 네트워크 왕복 시간(RTT)은 초 단위입니다. RTT는 빠른 네트워크의 경우 버퍼 크기를 기본값에서 늘릴 수 있습니다. |
매개변수 | with… 사용 | 설명 |
---|---|---|
httpClientIdleTime | 수락자 | 연결을 활성 상태로 유지하기 위해 빈 HTTP 요청을 보내기 전에 클라이언트가 유휴 상태일 수 있는 시간입니다. |
httpClientIdleScanPeriod | 수락자 | 유휴 클라이언트에 대해 검사하는 빈도(밀리초)입니다. |
httpEnabled | 수락자 | 더 이상 필요하지 않습니다. 단일 포트를 지원하는 경우 브로커는 이제 HTTP가 사용되고 있는지 자동으로 탐지하고 자체적으로 구성합니다. |
httpRequiresSessionId | 둘 다 |
|
httpResponseTime | 수락자 | 연결이 활성 상태로 유지하기 위해 서버가 빈 HTTP 응답을 보내기 전에 대기할 수 있는 시간입니다. |
httpServerScanPeriod | 수락자 | 응답이 필요한 클라이언트를 스캔하는 빈도(밀리초)입니다. |
매개변수 | with… 사용 | 설명 |
---|---|---|
enabledCipherSuites | 둘 다 | SSL 통신에 사용되는 암호화 제품군의 쉼표로 구분된 목록입니다. 기본값은 비어 있습니다. 즉 JVM의 기본값이 사용됩니다. |
enabledProtocols | 둘 다 | SSL 통신에 사용되는 프로토콜의 쉼표로 구분된 목록입니다. 기본값은 비어 있습니다. 즉 JVM의 기본값이 사용됩니다. |
forceSSLParameters | 커넥터 |
커넥터에서 매개변수로 설정된 SSL 설정이 JVM 시스템 속성(
유효한 값은 |
keyStorePassword | 둘 다 | 허용자에서 사용하는 경우 이는 서버 측 키 저장소의 암호입니다.
커넥터에 사용되는 경우 클라이언트 측 키 저장소의 암호입니다. 이는 양방향 SSL(즉, 상호 인증)을 사용하는 경우에만 커넥터와 관련이 있습니다. 이 값은 서버에서 구성할 수 있지만 클라이언트에서 다운로드하여 사용합니다. 클라이언트가 서버에서 설정한 암호와 다른 암호를 사용해야 하는 경우 customary |
keyStorePath | 둘 다 | 수락자에서 사용하는 경우 이는 서버의 SSL 키 저장소의 경로입니다(유사 기관의 자체 서명 또는 서명 여부).
커넥터에서 사용하는 경우 클라이언트 인증서를 보유하는 클라이언트 측 SSL 키 저장소의 경로입니다. 이는 양방향 SSL(즉, 상호 인증)을 사용하는 경우에만 커넥터와 관련이 있습니다. 이 값은 서버에 구성되어 있지만 클라이언트에서 다운로드하여 사용합니다. 클라이언트가 서버에서 설정된 것과 다른 경로를 사용해야 하는 경우 customary |
needClientAuth | 수락자 |
이 수락에 연결하는 클라이언트에 두방향 SSL이 필요하다는 것을 알려줍니다. 유효한 값은 |
sslEnabled | 둘 다 |
SSL을 활성화하려면 |
trustManagerFactoryPlugin | 둘 다 |
이는
지정된 플러그인을 브로커의 Java classpath에 배치해야 합니다. 기본적으로 classpath의 일부이므로 < |
trustStorePassword | 둘 다 | 수락자에서 사용하는 경우 이는 서버 측 신뢰 저장소의 암호입니다. 이는 양방향 SSL(즉, 상호 인증)을 사용하는 경우에만 동의어와 관련이 있습니다.
커넥터에 사용하는 경우 클라이언트 측 truststore의 암호입니다. 이 값은 서버에서 구성할 수 있지만 클라이언트에서 다운로드하여 사용합니다. 클라이언트에서 서버에서 설정한 암호와 다른 암호를 사용해야 하는 경우 customary |
sniHost | 둘 다 |
수락자에서 사용되는 경우
들어오는 연결에
커넥터에서 사용하는 경우 |
sslProvider | 둘 다 |
이 옵션은 OpenSSL을 통해 지원되지만 JDK 공급자를 통해 지원되지 않는 특수 암호suite-elliptic 곡선 조합을 사용하려는 경우 유용할 수 있습니다. |
trustStorePath | 둘 다 | 수락자에서 사용하는 경우 이는 서버가 신뢰하는 모든 클라이언트의 키를 보유하는 서버 측 SSL 키 저장소의 경로입니다. 이는 양방향 SSL(즉, 상호 인증)을 사용하는 경우에만 동의어와 관련이 있습니다.
커넥터에서 사용하는 경우 이 경로는 클라이언트가 신뢰하는 모든 서버의 공개 키를 보유하는 클라이언트 측 SSL 키 저장소의 경로입니다. 이 값은 서버에서 구성할 수 있지만 클라이언트에서 다운로드하여 사용합니다. 클라이언트가 서버에서 설정된 것과 다른 경로를 사용해야 하는 경우 customary |
useDefaultSslContext | 커넥터 |
커넥터가 클라이언트에서 프로그래밍 방식으로 설정할 수 있는 "기본" SSL 컨텍스트(
이 매개변수가 |
verifyHost | 둘 다 | 커넥터에서 사용하는 경우 서버의 SSL 인증서의 CN 또는 주체 대체 이름 값이 일치하는지 확인하기 위해 연결된 호스트 이름과 비교됩니다. 이 기능은 단방향 SSL과 양방향 SSL 모두에 유용합니다. 수락자에 사용되는 경우 연결 클라이언트의 SSL 인증서의 CN 또는 Subject Alternative Name 값은 해당 호스트 이름과 비교하여 해당 호스트 이름이 일치하는지 확인합니다. 이 기능은 양방향 SSL에만 유용합니다.
유효한 값은 |
wantClientAuth | 수락자 |
이 수락에 연결하는 클라이언트에 두방향 SSL이 요청되었지만 필수는 아님을 알려줍니다. 유효한 값은
속성 |