Azure Service Fabric은 확장 가능하고 안정적인 마이크로 서비스 애플리케이션의 배포, 관리 및 패키징을 매우 쉽고 효율적으로 만듭니다. 클라우드 애플리케이션의 개발 및 관리를 단순화하고 서비스를 안정적으로 확장 및 오케스트레이션합니다. Azure Service Fabric의 목적은 분산 클라우드 기반 애플리케이션 개발과 일반적으로 관련된 많은 문제를 해결하는 매우 풍부한 플랫폼을 개발자에게 제공하는 것입니다.
NCache 향상된 성능과 안정성을 위해 Azure Service Fabric 클러스터 내에서 배포를 제공합니다. NCache 데이터를 캐싱하고 애플리케이션에 더 가깝게 상주하여 애플리케이션의 성능과 확장성을 향상시키는 메모리 내 분산 캐싱 솔루션입니다.
NCache 세부 정보 NCache 오픈시프트 배포 NCache AKS 문서
NCache Azure Service Fabric의 배포 아키텍처
전체 배포 아키텍처에 대한 개요를 살펴보겠습니다. NCache Azure 서비스 패브릭에서. 인프라는 Service Fabric 클러스터 리소스와 Azure 부하 분산 장치 및 가상 머신 확장 집합을 포함한 모든 지원 Azure 리소스로 구성됩니다. Service Fabric 클러스터에는 마이크로 서비스 기반 아키텍처에서 일반적이므로 개별 서비스로 만들 수 있는 실행 중인 애플리케이션이 여러 개 있을 수 있으며 이러한 개별 서비스는 다른 언어로 작성될 수 있습니다. Service Fabric은 애플리케이션 및 개별 서비스의 확장성과 고가용성을 처리합니다.
이러한 엔터프라이즈 애플리케이션에서 다음과 같은 분산 캐싱 솔루션은 NCache 고성능을 가능하게 하는 필수 부품입니다. NCache Service Fabric 애플리케이션 내에서 컨테이너 서비스로 배포할 수도 있습니다. 이 시나리오에서는 NCache 서버는 가상 머신 기술 집합의 여러 노드에 있는 컨테이너 내에서 실행되며 서로 통신하여 클러스터된 캐시를 형성합니다.
캐시 검색 서비스는 캐시의 IP 주소에 대한 실시간 정보를 얻습니다. NCache 서버에서 해당 정보를 클라이언트에 제공합니다. 이 정보를 사용하여 클라이언트는 다음 작업을 수행할 수 있습니다. NCache 캐시 클러스터. 이 모든 것을 종합하면 다음 다이어그램은 NCache Service Fabric 클러스터에서:
배포에 대한 단계별 세부 정보를 살펴보겠습니다. NCache 더 잘 이해하기 위해.
NCache 세부 정보 배포 NCache Service Fabric 클러스터에서
1단계: Service Fabric 클러스터 만들기
첫 번째 단계는 서비스 패브릭 클러스터를 생성하여 배포하는 것입니다. NCache. 키 자격 증명 모음 리소스를 사용하여 리소스 그룹을 만듭니다. 키 자격 증명 모음에는 Service Fabric 클러스터와 함께 사용할 인증서가 포함되어 있습니다. 시작하려면 주어진 5노드 Service Fabric 클러스터용 ARM 템플릿으로 시작할 수 있습니다. 여기에서 지금 확인해 보세요. 그런 다음 다음과 같이 변경합니다.
- . JSON 파일의 기본값을 변경하십시오. vmImageSku 매개 변수 매개 변수 섹션 2016-데이터 센터 에 2016-컨테이너가 있는 데이터 센터. 이렇게 하면 Docker 기능이 미리 설치된 VMSS 노드가 설정됩니다.
- 다음을 허용하도록 ARM 템플릿을 업데이트합니다. 개방형 네트워킹 모드.
- 노출하려는 로드 밸런서 포트 중 해당 포트 값이 8251인 포트를 추가합니다. NCache 웹 매니저가 실행됩니다. 이 포트의 분배 모드를 다음으로 변경하십시오. 소스IP. 이것은 다음을 허용합니다. NCache 웹 관리자는 고정 세션으로 액세스하여 캐시를 생성하고 캐시에 노드를 추가하는 과정에서 서버와 클라이언트 간에 일관된 상태를 제공합니다.
이 작업이 완료되면 ARM 템플릿을 배포할 수 있으며 해당 리소스와 구성은 Azure Resource Manager에서 프로비저닝됩니다. 인프라가 준비되고 ARM 템플릿에 지정된 모든 구성이 확인되면 다음 단계로 이동합니다.
2 단계 : 생성 NCache 클러스터 서비스
NCache 클러스터 서비스는 다음을 나타내는 실행 중인 기본 서비스입니다. NCache Service Fabric VMSS의 컨테이너 내에서 실행되는 서버. 그만큼 NCache 서버 Windows 컨테이너 이미지는 다음에서 사용할 수 있습니다. 도커 허브. 이 서비스에서 사용하는 구성 모드는 엽니다 구성 모드 및 사용 세부 정보는 블로그 뒷부분에서 설명합니다. 이 서비스의 목적은 통신에 필요한 다음 포트를 노출하는 것입니다.
- 관리 포트: 캐시 서버가 캐시 생성 등과 같은 관리 작업을 수신 대기하는 포트 번호 8250
- 클라이언트 포트: 모든 CRUD 작업을 수행하기 위한 포트 번호 9800.
Service Fabric에서 개방형 네트워킹 모드 여러 컨테이너가 실행 중인 가상 머신의 보조 IP 주소 풀에서 개별 IP 주소를 할당하여 동일한 포트를 공유할 수 있습니다. 의 경우 NCache 서비스를 허용하는 추가 이점이 있습니다. NCache 클러스터된 캐시의 일부일 때 호스트 경계를 넘어 통신하는 컨테이너. 이것은 기본적으로 '가능하지 않습니다. NAT 방법.
아래는 샘플입니다 NCache 클러스터 서비스 매니페스트 파일:
1 2 3 4 5 6 7 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="cache-management" Protocol="tcp" UriScheme="tcp" Port="8250" CodePackageRef="Code" /> <Endpoint Name="cache-client" Protocol="tcp" UriScheme="tcp" Port="9800" CodePackageRef="Code" /> </Endpoints> |
3 단계 : 생성 NCache 관리 서비스
NCache Management Service도 컨테이너 서비스이며 동일한 Docker 이미지를 사용합니다. NCache 클러스터 서비스. 이 서비스의 목적은 포트 8251에 액세스하여 관리 및 모니터링 목적으로 포트를 노출하는 것입니다. NCache 웹 관리자. 를 분리하는 이유 NCache 에서 관리 서비스 NCache 클러스터 서비스는 Open 구성 모드에서 호스트-포트 매핑이 허용되지 않는다는 것입니다. NCache Web Manager는 호스트 포트를 제공하여 액세스해야 하며 이를 위해 다음과 같은 또 다른 서비스가 제공됩니다. NCache 관리 서비스는 NAT 방법. 다음은 샘플 서비스 매니페스트 파일입니다. NCache 관리 서비스.
1 2 3 4 5 6 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="web-management" Protocol="http" UriScheme="http" Port="8251" Type="Input" CodePackageRef="Code" /> </Endpoints> |
4 단계 : 생성 NCache 디스커버리 서비스
XNUMXD덴탈의 NCache 검색 서비스는 상태 비저장 신뢰할 수 있는 ASP입니다..NET Core Service Fabric 명명 서비스에 문의하고 서비스 패브릭에서 등록한 엔드포인트를 획득하는 Web API NCache 클러스터 서비스. 끝점에 액세스하여 검색된 정보는 HTTP 응답으로 클라이언트에 제공됩니다.
그런 다음 클라이언트 응용 프로그램은 다음에서 작업을 수행할 수 있습니다. NCache 획득한 IP 주소 정보를 사용하여 캐시 연결을 생성하여 클러스터된 캐시. 다음에 대한 서비스 매니페스트 NCache 검색 서비스는 다음과 같습니다.
1 2 3 4 5 6 7 |
<EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="" /> </EnvironmentVariables> <Endpoints> <!-- This endpoint is used by the communication listener to obtain the port on which to listen. --> <Endpoint Protocol="http" Name="ServiceEndpoint" UriScheme="http" Port="55100" Type="Input" /> </Endpoints> |
5단계: 캐시 클러스터 생성
이 부분은 실제 캐시 생성이 이루어지는 곳입니다. 먼저 다음을 확인하십시오. NCache 검색 서비스가 실행 중입니다. 검색 서비스에서 클러스터된 DNS로 구성된 URI와 캐시 검색 서비스가 수신 대기 중인 포트에 액세스합니다. URI 다음에 DNS를 열면 각 끝점에 대한 IP 주소가 표시되며 이는 NCache 서비스를 제공합니다.
서비스가 시작되어 실행 중인지 확인했으면 이제 다음 항목에 액세스할 수 있습니다. NCache 생성할 웹 관리자 NCache 클러스터된 캐시. 에 액세스하려면 NCache Web Manager에서 DNS 다음에 포트 번호 8251을 사용하여 액세스합니다. 이렇게 하면 다음의 기본 창이 나타납니다. NCache 웹 관리자. 캐시 클러스터 생성 섹션의 단계에 따라 캐시 클러스터를 생성합니다. 선적 서류 비치.
6단계: 클라이언트 애플리케이션 서비스 생성
다른 NCache 클라이언트 서비스는 HTTP 요청을 NCache 클라이언트에게 컨테이너의 IP 주소를 제공하는 검색 서비스 NCache 대응하고 있습니다. 그런 다음 클라이언트는 IP 주소를 사용하여 클라이언트와 통신하는 캐시 연결을 만들 수 있습니다. NCache 클러스터된 캐시.
모니터링이 필요한 경우 고객 입장에서 NCache 성능 카운터 및/또는 out-proc 필요 클라이언트 캐시 클라이언트 서비스와 함께 클라이언트 애플리케이션은 소스 이미지에 다음이 포함된 컨테이너 서비스로 배포되어야 합니다. NCache 캐시 클라이언트 모드에서 설치. 이 경우 클라이언트 서비스도 개방형 네트워킹 모드를 사용합니다.
다음은 클라이언트 응용 프로그램 서비스에 대한 샘플 서비스 매니페스트 파일입니다. NCache 클라이언트 설치:
1 2 3 4 5 6 |
<EntryPoint><ContainerHost><ImageName>ncache/apps:sfclient</ImageName></ContainerHost></EntryPoint> <EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> <EnvironmentVariable Name="Cache_Name" Value="democache"/> <EnvironmentVariable Name="Cache_DiscoveryService_URL" Value="<Cache Discovery Service URL>"/> <!-- Other environmental variables --> |
NCache 세부 정보 NCache 오픈시프트 배포 NCache 고정 컨테이너
7단계: 클라이언트 애플리케이션 실행
캐시가 실행되면 클라이언트 측에서 CRUD 작업 수행을 시작할 수 있습니다. 클라이언트 응용 프로그램은 처음에 IP 주소를 획득하는 것으로 시작합니다. NCache 서버 컨테이너에서 NCache 검색 서비스 및 캐시와의 연결을 설정합니다. 연결되면 캐시 관리 및 CRUD 작업을 진행할 수 있습니다.
다음을 사용하여 클라이언트 연결을 확인할 수 있습니다. NCache 웹 관리자 및 NCache 웹 모니터는 다음 단계에서 설명합니다.
8단계: 모니터링 NCache 클러스터
NCache 웹 관리자 임베디드 NCache 웹 모니터 캐시 클러스터를 모니터링하는 데 도움이 되는 도구입니다. 캐시 클러스터를 모니터링하면 캐시 클러스터 상태, 캐시 활동, 수행된 작업 수 등에 대한 실시간 정보를 얻을 수 있습니다. 캐시 클러스터를 모니터링하면 메모리 오버헤드 등과 같은 문제에 대해 적절한 조치를 취하는 데 도움이 됩니다.
문서의 단계에 따라 캐시 클러스터를 모니터링하십시오. 클라이언트 및 서버 카운터와 함께 보고서 대시보드 또는 그래픽 대시보드와 같은 다양한 대시보드를 보여줍니다.
9단계: 확장 NCache 클러스터
NCache 본질적으로 매우 확장 가능하므로 다음을 수행할 수 있습니다. 캐시 클러스터에 서버 추가 런타임에. NCache Web Manager를 사용하면 캐시 클러스터에 서버를 추가할 수 있습니다. 간단히 스케일링 NCache 필요한 만큼의 인스턴스에 클러스터 서비스를 제공합니다. 일단 새로운 NCache 서버 컨테이너가 실행 중이면 캐시 클러스터를 중지하지 않고도 캐시 클러스터에 추가할 수 있습니다.
그런 다음 캐시 클러스터를 모니터링하여 추가된 서버 노드의 활동을 볼 수 있습니다.
결론
전체 문서를 정리하기 위해 Azure Service Fabric의 배포에 대해 다루었습니다. NCache. NCache 매우 확장 가능한 캐싱 솔루션이며 고성능과 매우 빠른 트랜잭션을 보장합니다. 이러한 이점은 몇 가지 간단한 단계를 수행하고 배포하여 얻을 수 있습니다. NCache Azure Service Fabric을 사용하여 컨테이너화된 환경에서.