별도의 캐시 호스트 프로세스
이전에는 NCache 서비스와 모든 캐시 인스턴스는 하나의 단일 프로세스 내에 제한되었습니다. 즉, 프로세스가 중단되면 서비스와 캐시 및 해당 리소스 정보(메모리, 주소, 포트)가 손실됩니다.
NCache 이제 서비스에 별도의 프로세스를 할당하고 각 캐시 호스트에 전용 프로세스를 할당하여 더 높은 안정성을 제공합니다.
주의 사항
이 기능은 다음에서도 사용할 수 있습니다. NCache Professional.
캐시와의 클라이언트 통신
클라이언트와 캐시 호스트의 초기 통신은 2홉 통신입니다.
먼저 포트 전달 메커니즘을 사용하여 클라이언트를 캐시 호스트에 연결하는 서비스와 상호 작용합니다.
그런 다음 포트 전달을 사용하여 캐시와 통신합니다. 클라이언트에 대한 향후 모든 상호 작용은 캐시를 통해 직접 이루어집니다.
캐시가 별도의 자체 프로세스에서 시작되면 서비스가 통신할 관리 포트가 할당됩니다. 이 포트는 범위(기본값 8300 – 8400, 구성 가능)에서 동적으로 생성됩니다. 서비스.exe.config).
주의 사항
Partition-Replica 토폴로지의 경우 두 개의 포트가 할당됩니다.
포트가 전달되면 클라이언트는 캐시에 항목을 추가하거나 캐시에서 항목을 가져오거나 제거하는 등 모든 캐시 요청을 캐시로 보냅니다.
캐시 호스트 프로세스 중 하나가 중지되면 해당 캐시에서 통신에 사용 중인 포트가 사용 가능한 포트 풀에 다시 추가됩니다. 예를 들어 파티션-복제 노드가 포트 8301 및 8302를 사용하고 프로세스가 종료되면 다른 캐시에서 해당 포트를 사용할 수 있게 됩니다. 이제 새 캐시에 대한 프로세스가 시작되면 포트 8301을 이 캐시에 재사용할 수 있습니다.
이전에는 포트가 캐시에 할당되면 캐시 상태에 관계없이 활용된 것으로 간주되었습니다. 이는 포트 범위가 비자발적으로 좁아졌음을 의미합니다.
캐시와의 서버 통신
서버는 동적으로 생성된 관리 포트를 통해 캐시 호스트와 통신합니다. 모든 관리 작업은 이 경로를 통해 전달됩니다.
서비스가 다시 시작되면 어떻게 됩니까?
서비스가 다시 시작되는 경우 캐시 프로세스는 손실되지 않지만 redis이전 상태를 커버할 수 있습니다. 즉, 서비스는 프로세스 ID, 포트 등과 같은 자격 증명과 함께 충돌이 발생하기 전에 어떤 캐시가 실행 중인지 확인해야 합니다. 이것 redis결과적으로 Covery는 캐시 프로세스가 좀비 상태가 아니라는 것을 보증합니다.
에 사용되는 두 가지 도구가 있습니다. redis표지:
WMI(Windows 관리 계측 서비스)
기업 환경에서 장치, 애플리케이션, 서버의 관리 정보에 액세스하고, 통합하고, 공유하기 위한 표준화된 서비스입니다. 다음 중 하나를 실행할 수 있습니다. winmgmt.exe 도구 또는 명령줄 도구 WMIC 서비스에 관한 정보를 얻기 위해.
예:
wmic PROCESS WHERE (Description=”Alachisoft.NCache.Service.exe”)
다음을 사용하여 여러 다른 명령으로 작업할 수 있습니다. Windows Management Instrumentation 명령줄 도구.
netstat 도구
이 명령줄 도구는 들어오고 나가는 TCP 통신에 대한 네트워크 연결, 라우팅 테이블 및 네트워크 프로토콜 통계를 표시합니다. 당신은 할 수 있습니다 redis사용 중인 활성 연결 및 포트를 확인하여 캐시에 대한 손실된 정보를 처리하세요. 포트 범위 내의 모든 포트 서비스.exe.config 포트를 사용하는 캐시 호스트를 나타냅니다.
예:
netstat –o
각 활성 연결의 로컬 주소, 외부 주소, 상태 및 프로세스 ID가 표시됩니다.
이 도구에 대한 자세한 내용은 다음에서 얻을 수 있습니다. 마이크로소프트의 Technet 페이지.