로드밸런서와의 연결
종종 애플리케이션 배포에서는 로드 밸런서를 사용하여 서버의 요청이 너무 많은 것을 방지합니다. 즉, 클라이언트가 서버에 직접 액세스하는 것을 방지합니다.
주의 사항
이 구성은 라운드 로빈 접근 방식을 사용하는 로드 밸런서를 위한 것입니다.
중대한
로드 밸런서에서 고정 세션이 활성화되어 있지 않은지 확인하십시오.
그러한 상황에서 클라이언트가 클러스터의 모든 시스템에 연결되도록 하려면(이는 두 시스템 모두에 필요함) 파티션 된 및 파티션-복제본 토폴로지), NCache 를 제공합니다 is-load-balancer
구성.
이 구성은 로드 밸런서에 연결된 모든 원하는 서버와의 연결을 설정하기 위해 여러 요청을 사용하여 작동합니다. 예를 들어 로드 밸런서가 3개의 서버에 연결되어 있다고 가정해 보겠습니다. NCache 이미 서버 1에 연결되어 있고 다른 서버에 연결해야 하는 경우 서버 2와 서버 3에 순차적으로 연결될 때까지 반복적으로 요청을 보냅니다. 첫 번째 연결이 설정된 후 로드 밸런서는 서버 2에 두 번째 요청을 보냅니다. NCache 아래 설명과 같이 계속 진행하기 전에 서버 ID를 받고 연결 설정에 동의합니다.
그러나 로드밸런서가 서버 3으로 요청을 보내면, NCache 아래와 같이 연결을 거부하고 다시 시도합니다. 이 프로세스는 모든 서버에 연결되거나 지정된 재시도 횟수에 도달할 때까지 계속됩니다(load-balancer-connection-retries
).
주의 사항
기본 개수 load-balancer-connection-retries
is 15 최소 재시도 횟수는 다음과 같습니다. 2.
중대한
XNUMXD덴탈의 load-balancer-connection-retries
태그는 정기적인 연결 재시도(예: 연결 재시도)당 로드 밸런서에 메시지가 표시되는 빈도를 나타냅니다. 그러므로 만일 connection-retry= 3
및 load-balancer-connection-retries= 15
, 로드 밸런서에는 재시도당 15번 메시지가 표시되며, 클라이언트를 올바른 시스템에 연결하기 위해 로드 밸런서에 총 45번의 메시지가 표시됩니다.
주의 사항
모든 연결 시도가 기록됩니다.
구성 NCache 로드 밸런서를 해결하기 위해
이 플래그를 활성화하려면 클라이언트.ncconf 파일(다음 위치에서 사용 가능) %NCHOME%\config
Windows 또는 opt/ncache/config
Linux에서는) 설정을 통해 is-load-balancer
다음과 같이 True로 설정합니다.
<configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" load-balancer-connection-retries = "15" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.40" enable-keep-alive="False" keep-alive-interval="30"/>
<cache id="demoCache" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="True" log-level="info">
<server name="20.200.20.40" is-load-balancer="True"/>
</cache>
</configuration>
주의 사항
또한 다음을 사용하여 프로그래밍 방식으로 이 작업을 수행할 수도 있습니다. CacheConnectionOptions API.