사용 NCache Microsoft Azure 서비스 패브릭에서

안녕하세요. 다른 프레젠테이션에 오신 것을 환영합니다. NCache. 오늘은 우리가 할 수 있는 방법에 대해 이야기하겠습니다. 배포 NCache Service Fabric 환경으로. 다룰 내용이 많으니 시작하겠습니다.

NCache 전개

우리가 달성하고자 하는 것에 대한 일반적인 개요부터 시작하겠습니다. 여기 Azure에 배포된 일반적인 Service Fabric 애플리케이션의 조감도가 있습니다.

ncache-배포-azure

Azure 부하 분산 장치가 있는 Service Fabric 클러스터가 있습니다. Service Fabric 애플리케이션 내에는 다양한 언어로 작성할 수 있는 여러 서비스가 있습니다. 이러한 서비스는 일반적으로 컨테이너화된 서비스로 배포됩니다. 이제 엔터프라이즈 애플리케이션에서 분산 캐싱은 높은 읽기 성능을 가능하게 하는 데 중요합니다. NCache 들어 온다.

NCache Service Fabric 애플리케이션 내에서 컨테이너화된 서비스로 배포할 수 있습니다. NCache 서버는 Virtual Machine 확장 집합의 여러 노드에 있는 컨테이너 내에서 실행되며 서로 통신하고 클러스터된 캐시를 형성할 수 있습니다. 사이의 격차를 해소 NCache 클라이언트와 서버의 실시간 IP 주소 정보를 얻는 데 사용되는 캐시 검색 서비스가 있습니다. NCache 서버에 해당 정보를 제공합니다. NCache 클라이언트. 이 정보를 통해 NCache 그런 다음 클라이언트는 캐시 핸들을 생성하여 캐시 관리 및 CRUD 작업을 시작할 수 있습니다. NCache 클러스터된 캐시.

다음은 오늘 반으로 들어갈 데모의 주요 매개변수입니다.

데모 환경 세부 정보

XNUMXD덴탈의 NCache Windows 컨테이너 내에서 실행 중인 서버는 이름이 '인 Docker 이미지를 사용합니다.alachisoft/ncache:최신'. 여기에는 NCache Enterprise,와 .NET framework 설치. 2부터 시작하겠습니다 NCache 복제 토폴로지의 파티션과 함께 클러스터된 캐시를 형성하기 위해 함께 가져오는 서버. 둘 NCache 우리가 가지고 있는 클라이언트 애플리케이션은 .NET Core 및 Java에서 CRUD 작업을 수행합니다. NCache 서버.

서비스 패브릭 클러스터 생성

따라서 시작하기 위해 가장 먼저 할 일은 Azure에서 Service Fabric 인프라를 만드는 것입니다. 이미 Azure Portal을 연 브라우저 창으로 이동할 수 있습니다.

하늘빛 포털

이름이 '인 리소스 그룹을 만들었습니다.NCacheServiceFabric' 및 여기에는 현재 하나의 'Key Vault' 리소스만 포함되어 있습니다. 이 Key Vault 리소스에는 Service Fabric 클러스터와 함께 사용할 인증서가 포함되어 있습니다. Visual Studio 2019로 넘어오면서 ARM 템플릿이 열려 있고 Service Fabric 열기 구성 모드를 허용하는 설정이 도입되었습니다.

비주얼 스튜디오

Service Fabric 개방형 구성 모드와 인프라를 배포한 후 이를 사용하는 이유에 대해 자세히 설명하겠습니다. 따라서 배포를 시작하려면 'Solution Explorer'로 이동하고 내 Azure 리소스 그룹 프로젝트에서 마우스 오른쪽 버튼을 클릭하고 배포를 시작하면 리소스 그룹이 나열됩니다.

비주얼 스튜디오2

이렇게 하면 배포 창이 열립니다. '배포' 버튼을 클릭하면 배포가 시작됩니다.

배치 버튼

시간이 좀 걸리므로 여기서 동영상을 일시 중지하겠습니다. 템플릿이 성공적으로 배포되었으며 이를 확인하기 위해 Azure Portal로 돌아갈 수 있습니다. 페이지를 새로고침하면 변경사항이 표시되며 여기에 적용됩니다. 이제 Service Fabric 클러스터 및 연결된 모든 종속 리소스가 성공적으로 만들어졌습니다. 시작하기 위해 가장 먼저 이야기할 것은 이전에 언급한 개방형 구성 모드입니다.

이 기사는 기본적으로 개방형 구성 모드와 이것이 사용되는 이유에 대해 설명합니다. 우리의 목적을 위해 개방형 구성 모드는 다음을 허용합니다. NCache 실제로 여러 호스트 간에 통신할 수 있고 함께 모여 클러스터된 캐시를 형성하고 이것이 어떻게 수행되는지 확인하기 위해 컨테이너 내에서 실행 중인 서버는 Azure Portal에 올 수 있으며 가장 먼저 살펴볼 것은 Virtual 회로망.

가상 네트워크

좋습니다. 이제 가상 머신 확장 집합의 여러 노드가 있지만 자세히 보면 각 노드에 여러 IP 주소가 할당되어 있습니다. 첫 번째 IP 주소는 호스트의 기본 주소입니다. 그러나 노드에 연결된 다른 IP 주소는 보조 IP 주소 풀을 형성하고 Service Fabric의 개방형 구성 모드를 사용하여 이러한 IP 주소가 컨테이너에 할당됩니다. NCache 서버가 실행됩니다. 이 보조 풀에서 할당된 IP 주소를 사용하면 여러 호스트의 컨테이너가 서로 원활하게 통신하여 Service Fabric에 캐시 클러스터를 만들 수 있습니다.

리소스에서 또 살펴보고 싶은 것은 로드 밸런서인데 '프론트엔드 IP 구성'에 오면 실제로 관심 있는 규칙은 '규칙 10'이고 이것은 포트 8251과 관련이 있습니다. 에 의해 사용됩니다 NCache 웹 관리자, 이 프레젠테이션의 뒷부분에서 설명하겠습니다. 그러나 주목해야 할 중요한 점은 NCache Web Manager에서는 여기에 표시된 '세션 지속성' 필드에서 '클라이언트 IP' 값과 함께 고정 지속성을 사용할 것입니다.

nc-웹 관리자

이를 통해 여러 인스턴스가 있는 경우 NCache 웹 관리자를 실행하면 브라우저와 최종 서비스 간에 일관된 사용자 경험을 가질 수 있습니다. 이제 인프라를 살펴보고 성공적으로 배포했으므로 Service Fabric 애플리케이션의 배포로 이동하고 이를 위해 Visual Studio로 돌아가서 다음과 같은 여러 ServiceManifest 파일이 있습니다. 응용 프로그램의 서비스. 우리는 NCache 서비스, NCache 웹 관리자 서비스, 검색 서비스 및 클라이언트 컨테이너 서비스는 클라이언트 애플리케이션을 수용할 것입니다. 애플리케이션을 배포한 후 이러한 각 서비스에 대한 세부 정보를 살펴보겠습니다. 이를 위해 솔루션 탐색기로 돌아가 여기에서 Service Fabric 애플리케이션 프로젝트와 이름을 마우스 오른쪽 버튼으로 클릭하고 '게시'로 내려갑니다.

솔루션 탐색기

그러면 배포 창이 열리고 보시다시피 이미 Service Fabric 클러스터 연결 끝점을 선택했습니다. 이 시점에서 해야 할 일은 '게시'를 클릭하는 것뿐입니다. 그러면 프로세스가 시작됩니다.

배포 창

시간이 좀 걸리므로 여기에서 동영상을 일시중지하겠습니다. 애플리케이션이 성공적으로 배포되었으며 'Service Fabric Explorer' 창에 준비가 되었습니다. 보시다시피 클러스터 DNS는 여기에 제공됩니다.

서비스 패브릭 탐색기

그리고 'DASHBOARD'에 가서 보면 1개의 노드가 있고 4개의 애플리케이션과 4개의 서비스가 있습니다. 왼쪽 창에서 XNUMX개의 서비스를 볼 수 있습니다. 가장 먼저 살펴보고 싶은 서비스는 NCache 서비스. 이것은 다음을 나타냅니다. NCache 컨테이너 내에서 실행되고 클러스터된 캐시를 형성할 서버. 그럼 나는 NCache Web Manager 서비스는 캐시 클러스터 생성 및 모니터링을 위한 사용하기 쉬운 GUI를 나타냅니다. 그럼 나는 NCache Discovery Service는 IP 주소 획득을 담당합니다. NCache 서버를 클라이언트 애플리케이션에 제공합니다. 클라이언트 애플리케이션에 대해 말하자면, 두 개의 서로 다른 애플리케이션을 수용하는 컨테이너를 나타내는 클라이언트 컨테이너 서비스가 있습니다. .NET Core 다른 하나는 Java입니다. 이제 이러한 각 서비스에 대해 차례로 자세히 설명하겠습니다.

NCache 클러스터 서비스

가장 먼저 살펴보고 싶은 것은 NCache 클러스터 서비스 및 이를 위해 Visual Studio로 다시 돌아오겠습니다. 이것은 다음을 위한 ServiceManifest입니다. NCache 클러스터 서비스는 보시다시피 이미지 '를 사용하는 컨테이너 서비스입니다.alachisoft/ncache'.

비주얼 스튜디오3

이름 지정 서비스에 등록한 엔드포인트가 몇 개 있는데 다음과 같습니다. 캐시 서버가 연결 요청을 수신하는 포트 8250을 노출하는 '캐시 관리' 엔드포인트가 있습니다. 포트 9800을 노출하는 'cache-client' 엔드포인트가 있습니다. 모든 CRUD 작업 이 포트를 통해 수행됩니다. 이 외에도 '브리지 관리' 및 '브리지 클라이언트' 엔드포인트도 있습니다. 현재 데모에서는 여기에 표시된 처음 두 엔드포인트에만 집중할 것입니다.

비주얼 스튜디오4

NCache 관리 서비스

두 번째로 살펴볼 서비스는 NCache 관리 서비스, Web Manager GUI를 나타냅니다. Visual Studio로 돌아가서 ServiceManifest에 대한 NCache Web Manager Service와 동일한 이미지를 사용하는 컨테이너 서비스이기도 합니다. NCache 서비스와 이름 지정 서비스에 등록한 끝점은 'web-management'이며 포트 8251을 노출합니다.

비주얼 스튜디오5

NCache 디스커버리 서비스

세 번째 서비스는 물론 NCache 디스커버리 서비스 이에 대한 ServiceManifest가 여기에 제공됩니다.

nc-발견 유형

XNUMXD덴탈의 NCache Discovery Service는 안정적인 상태 비저장 ASP입니다..NET Core 웹 API. 이름 지정 서비스에 문의하여 등록된 엔드포인트를 획득합니다. NCache 여기서 주는 서비스. 이름 지정 서비스에서 받은 엔드포인트를 사용하여 검색 서비스는 해당 정보를 NCache 클라이언트.

클라이언트 애플리케이션 서비스

애플리케이션에 있는 네 번째 서비스는 클라이언트 앱 서비스 이를 위해 ServiceManifest가 열려 있고 클라이언트 애플리케이션, .NET Core Java는 동일한 컨테이너 내에 있습니다. 그 이미지는 'ncache/apps:sfclient'.

클라이언트

여기서 주목해야 할 중요한 점은, NCache 서비스와 클라이언트 서비스, 우리는 'open config'를 사용하고 있습니다. 그만큼 NCache 서비스는 서로 다른 호스트에서 실행되는 컨테이너가 서로 통신할 수 있도록 허용하는 개방형 구성 모드를 가지고 있으므로 클라이언트 컨테이너에 있는 동안 캐시 클러스터를 형성합니다. NCache Web Manager GUI에서 사용하여 클라이언트측 카운터를 획득하고 GUI에서 클라이언트 동작을 모니터링할 수 있는 클라이언트 및 설치.

캐시 클러스터 생성

다음으로 수행할 부분은 캐시 클러스터의 실제 생성이며 이를 위해 Service Fabric Explorer 창으로 돌아가겠습니다. 가장 먼저 할 일은 Service Discovery가 작동하는지 확인하는 것입니다. 이를 위해 클러스터링된 DNS와 검색 서비스가 수신 대기 중인 포트(55100)로 구성된 URI를 제공합니다.

구글 링크

Enter를 클릭하면 각 엔드포인트에 대해 등록된 IP 주소와 연결된 포트가 표시됩니다. NCache 서비스를 성공적으로 선보였습니다. 자세히 살펴보면 가상 네트워크에서 보조 IP 풀의 일부로 이러한 Service Fabric 노드에 제공한 IP 주소가 동일합니다.

IP 주소

이제 서비스 검색이 실행 중이므로 NCache 웹 관리자. 다시 한 번 Clustered DNS를 입력한 다음 수신 대기 중인 포트(8251)를 입력하면 Web Manager GUI의 기본 창이 표시됩니다.

웹 관리자 GUI

이제 클러스터된 캐시를 만드는 것이 얼마나 쉬운지 보여드리겠습니다. 여기에 표시된 '새로 만들기' 버튼을 클릭하기만 하면 됩니다.

새로운 버튼

캐시 이름을 지정하여 시작하겠습니다.

캐시 이름

다른 모든 것을 기본값으로 유지하십시오. 비동기 모드로 복제 토폴로지의 파티션을 사용하겠습니다.

비 동시성의

이제 이 시점에서 클러스터된 캐시를 구성할 이러한 서버의 IP 주소를 제공할 것입니다. 따라서 먼저 첫 번째 IP와 두 번째 IP에 11을 줄 것입니다. 이 두 가지를 추가하면 다음 단계로 넘어갈 수 있습니다.

IP 주소2

다른 모든 것은 기본값으로 유지하고 마지막에 '마침'을 클릭합니다.

마무리

기본 창에서 볼 수 있듯이 캐시가 생성됩니다.

캐시 생성

이제 생성되었으므로 시작할 시간이며 이를 위해 캐시 이름 옆의 확인란을 클릭한 다음 '시작' 버튼을 누를 수 있습니다.

스타트

이제 캐시가 시작되었으므로 지금 볼 수 있는 몇 가지 사항이 있습니다. 우리가 할 수 있는 첫 번째 일은 확인란을 누른 상태에서 '모니터' 버튼을 클릭하여 '모니터' 도구를 보는 것입니다.

모니터

그러면 다른 창이 열리고 모니터링 도구를 구성하는 대시보드를 볼 수 있습니다. 여기에서 가장 먼저 볼 수 있는 것은 '클러스터 상태'입니다. 녹색으로 볼 수 있듯이 활성 및 복제 파티션이 있는 2개의 서버가 완전히 연결되어 있음을 알 수 있습니다.

클러스터 캐시

여기에도 그래픽 형식으로 표시된 XNUMX개의 다른 파티션이 있습니다.

서버 대시보드

'요청/초', '추가', '가져오기', '업데이트', '삭제' 등을 포함하여 지금 바로 볼 수 있는 몇 가지 카운터가 있습니다. '카운트'는 다른 모든 것과 함께 0입니다. 아직 연결된 클라이언트 프로세스가 없고 연결된 클라이언트 프로세스는 '클라이언트 프로세스' 대시보드에서 볼 수 있기 때문에 CRUD 작업 카운터는 '클라이언트 IP', '프로세스 ID' 및 연결된 서버를 표시합니다. . '서버 대시보드'입니다. 기본적으로 사용 가능한 다른 대시보드는 '클라이언트 대시보드'이며 여기에서 클라이언트에서 오는 다양한 카운터를 보고 클라이언트 동작을 진단하고 모니터링할 수 있습니다.

클라이언트 대시보드

기본적으로 제공되는 세 번째 대시보드는 '보고서 대시보드'로, 서버 및 클라이언트 측 성능 카운터의 전체 보기를 표시합니다.

보고서 대시보드

클라이언트 애플리케이션 실행

작동 중인 정보를 보기 위해 이제 클라이언트 응용 프로그램을 시작합니다. 이제 클라이언트 앱을 실행합니다. 모니터 창으로 돌아가서 여기 클라이언트 컨테이너 내에서 열린 PowerShell이 ​​있고 이미 'nettester' 폴더 안에 있습니다. .NET Core 앱. 매개변수로 캐시 이름('democache')과 여기에 표시된 캐시 검색 서비스의 URI를 사용하는 배치 명령을 실행할 것입니다.

cmd를

클러스터된 DNS와 캐시 검색 서비스의 포트로 구성됩니다. 이제 'Enter' 키를 누르면 캐시가 클라이언트 측에서 초기화되고 모니터링 창에서 일부 활동을 살펴보겠습니다. 따라서 더 이상 고민하지 않고 여기에서 클라이언트가 성공적으로 IP 주소를 가져오고 캐시 핸들이 초기화되었음을 알 수 있으며 이는 클라이언트 수가 하나씩 증가했음을 보여주는 클러스터 상태 모니터에서 확인할 수 있습니다.

모니터링 창

또한 CRUD 작업과 관련된 다양한 대시보드에서 일부 활동을 보기 시작합니다. '추가', '가져오기', 업데이트' 및 '삭제'와 같은. '초당 요청 수'와 함께 전체 활동도 표시됩니다. 클라이언트가 항목을 캐시에 넣기 시작하면서 '카운트'가 증가하기 시작했고 '클라이언트 프로세스'에서 클라이언트 프로세스와 관련된 새 항목을 볼 수 있습니다. '클라이언트 IP'와 '프로세스 ID'를 보면 클라이언트가 두 서버에 모두 연결되어 있음을 알 수 있습니다. 이것은 클러스터 인식으로 알려진 복제 토폴로지의 파티션 및 파티션에 특정한 기능입니다. '클라이언트 대시보드'로 이동하면 여기에도 몇 가지 활동이 표시되며 웹 관리자가 클라이언트 측에서 카운터를 가져올 수 있음을 알 수 있습니다.

클라이언트-대시보드2

'보고서 대시보드'는 전체 보기를 제공합니다. 성능 카운터의 노드당 인스턴스가 여기 서버에 표시되고 '클라이언트 보고서' 측의 활동도 클라이언트 측에서 오는 것을 볼 수 있습니다.

보고서-대시보드2

이제 성공적으로 연결할 수 있었습니다. .NET Core 클라이언트, 이제 Java 클라이언트에서도 연결을 시도합니다. 따라서 .NET Core 응용 프로그램, 여기에 Java 응용 프로그램을 실행하는 배치 파일이 있습니다. 다시 말하지만, 동일한 매개변수 즉, 캐시 이름과 캐시 검색 서비스의 URI를 사용합니다.

cmd2

이제 프로그램을 실행하고 모니터링 창에서 어떤 변화가 있는지 살펴보겠습니다. 따라서 'Enter'를 누르면 응용 프로그램이 시작되고 성공적으로 초기화되었으며 이제 각 서버에 연결된 2개의 클라이언트가 있음을 알 수 있습니다.

모니터링 창2

여기로 와서 활동이 무엇을 보여주는지 살펴보겠습니다. 먼저 '카운트'부터 살펴보자. 클라이언트 수가 증가하고 둘 다 데이터를 캐시에 덤프하기 때문에 '개수'가 증가하기 시작했습니다. 요청도 증가하기 시작했고 요청 속도가 증가했으며 여기 '클라이언트 프로세스'에서 여기 표시된 클라이언트가 2개임을 알 수 있습니다. 동일한 컨테이너에서 실행되기 때문에 클라이언트 IP는 동일하지만 프로세스 ID는 다르며 하나는 .NET Core 다른 하나는 Java에서 가져온 것입니다. 메인창으로 넘어가면 또 다른 창으로 보여주고 싶은게 'Statistics' 창입니다. 무슨 일이 일어나고 있는지에 대한 또 다른 시각을 제공하는 것은 무엇입니까? 이를 위해 줄임표 버튼을 클릭하고 '통계 표시' 탭으로 이동합니다.

통계

이 창에서도 노드당 성능 카운터를 볼 수 있습니다. IP 주소가 여기에 표시됩니다. 따라서 동일한 Service Fabric 클러스터 내의 모든 서버에 클라이언트를 연결하는 데 성공했습니다.

통계2

스케일링 NCache 클러스터

데모의 이 마지막 부분에서는 클러스터된 캐시에 노드를 런타임에 추가하는 것을 시연하고 추가가 클라이언트 응용 프로그램의 성능에 영향을 미치지 않는다는 것을 확인할 것입니다. 이를 위해 '웹 관리자'의 기본 창으로 돌아갑시다. 세 번째 노드를 추가하려면 여기에 표시된 대로 '세부 정보 보기' 링크를 클릭하기만 하면 됩니다.

클러스터 캐시2

이렇게 하면 다른 창이 표시되며 서버 노드 섹션에서 세 번째 노드를 추가하려면 여기에 표시된 '추가' 버튼을 클릭하기만 하면 됩니다.

추가 버튼

세 번째 서버의 주소를 제공하십시오. 나는 여기서 그것을 할 것이고 내가 가진 것을 줄 것입니다 17 노드가 성공적으로 추가되었습니다.

노드_추가

이제 추가되었으므로 시작해야 하며 IP 주소 옆의 확인란을 클릭하고 '시작'을 클릭하면 성공적으로 추가됩니다.

start2

기본 창으로 돌아와서 이 버튼을 새로 고치면 이제 3개의 서버가 있는 것을 볼 수 있으며 이제 모니터링 창에서 어떤 일이 발생하는지 살펴보겠습니다. 이전과 동일하게 여기에서 확인란을 클릭하고 '모니터' 탭을 클릭하면 이제 '클러스터 상태' 대시보드에 3개의 서버가 표시되고 완전히 연결된 것을 볼 수 있습니다.

서버 대시보드2

그리고 '클라이언트 프로세스'에는 3개의 클라이언트로부터 요청을 제공하는 2개의 다른 서버가 있습니다.

클라이언트 프로세스

그리고 'Count' 섹션을 보면 'Count'가 3개의 노드 간에 로드 밸런싱되었습니다.

카운트 섹션

이는 복제 클러스터의 파티션에서 사용하는 로드 밸런싱 전략이 유효함을 나타냅니다.

이것으로 프레젠테이션을 마칩니다. 배포할 수 있는 방법을 살펴보았습니다. NCache Service Fabric 애플리케이션 내의 컨테이너화된 서비스로. 궁금한 사항이 있으시면 NCache 또는 방금 목격한 프리젠테이션은 주저하지 말고 다음 주소로 문의하십시오. support@alachisoft.com. 감사합니다.

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.