• Facebook
  • 트위터
  • 유튜브
  • 라인드인
  • RSS
  • 기술 문서
  • 비교
  • 블로그
  • 다운로드
  • 문의하기
다운로드
목차 표시/숨기기

캐시의 이벤트 알림: 개요

분산 캐싱 패러다임에서 클라이언트 애플리케이션은 캐시에서 발생하는 다양한 작업에 대한 알림을 받아야 할 수 있습니다. NCache 다양한 유형의 이벤트를 생성하며, 애플리케이션은 관심 있는 이벤트에만 등록할 수 있습니다. 데이터별 알림을 등록할 때 클라이언트는 특정 데이터 유형을 지정할 수도 있습니다. EventDataFilter 각 알림과 함께 반환되는 정보의 양(예: 키, 메타데이터만 또는 메타데이터를 포함한 전체 데이터)을 제어할 수 있습니다. 등록 후에는 NCache 캐시 데이터가 수정되거나 클러스터 상태 및 관리 작업이 변경될 때마다 구독 클라이언트에게 푸시 알림을 보냅니다.

캐시의 이벤트와 관련된 몇 가지 주요 사항은 다음과 같습니다.

  • 클라이언트 응용 프로그램이 이벤트에 대해 등록한 경우에만 이벤트가 생성됩니다.
  • 이벤트 정보는 구독 고객에게만 공개됩니다.
  • 캐시는 이벤트가 발생하는 시점을 결정하고, 클라이언트는 해당 이벤트에 어떻게 응답할지 결정합니다.
  • 클라이언트는 여러 이벤트에 등록할 수 있으며 여러 캐시에서 여러 이벤트를 처리할 수도 있습니다.
주의 사항

특정 이벤트 등록 API 호출을 사용하여 캐시에 자신을 등록하지 않는 한 애플리케이션은 이벤트를 수신할 수 없습니다.

이벤트 알림의 중요성

오늘날 많은 애플리케이션은 데이터 무결성을 유지하기 위해 런타임에 비동기적으로 데이터를 공유해야 합니다. 또한 데이터 상태를 업데이트하거나 데이터 스냅샷을 서버 측 상태와 동기화해야 합니다. 이를 위해서는 애플리케이션이 서버와 데이터 상태를 모니터링할 수 있는 메커니즘이 필요합니다. 이벤트 알림은 캐시의 데이터가 변경될 때마다 클라이언트 애플리케이션에 알림을 보내 이러한 메커니즘을 제공합니다.

따라서 이벤트는 서로 다른 애플리케이션 간 또는 동일한 애플리케이션 내의 서로 다른 모듈 간에 런타임 데이터 공유를 가능하게 합니다. 더욱이, DataWithMetadata 사용, NCache 캐시된 데이터를 이벤트 알림에 포함할 수 있으므로 해당 항목에 대한 별도의 가져오기 요청이 필요하지 않습니다.

이벤트 NCache

데이터 또는 관리 작업과 관련된 캐시 수준 활동에 대해 이벤트가 발생할 수 있습니다. 여기에서는 이벤트를 분류하고 관련 세부 사항을 논의합니다.

데이터 특정 이벤트

이름에서 알 수 있듯이 이러한 이벤트는 다음으로 인해 캐시의 데이터가 수정될 때 트리거됩니다. 더하다, 최신 정보및 제거 기본적인 CRUD 작업 외에도, 데이터가 캐시에 추가, 업데이트 또는 삭제될 때 데이터별 이벤트가 발생합니다. 캐시 시작 로더/새로 고침 백업 소스.

알림을 위해 이러한 이벤트를 등록하려면 MessagingService.RegisterCacheNotification 방법이 사용됩니다. 마찬가지로, 더 이상 필요하지 않은 경우 데이터별 알림을 쉽게 등록 취소할 수 있습니다. MessagingService.UnRegisterCacheNotification 방법.

적절한 지정이 필요합니다 EventType 다음을 사용하여 데이터별 이벤트에 등록하는 동안 이벤트 유형 열거형. 다음 알림은 등록된 내용을 기반으로 실행될 수 있습니다. EventType:

  • 알림 추가: 추가 알림은 다음과 같은 경우 트리거됩니다. ItemAdded 이벤트 유형이 등록되고 캐시에 새 항목이 추가됩니다.

  • 업데이트 알림 : 업데이트 알림은 다음과 같은 경우 트리거됩니다. ItemUpdated 이벤트 유형이 등록되고 캐시에 기존 항목이 업데이트됩니다.

  • 알림 제거: 제거 알림은 다음과 같은 경우에 트리거됩니다. ItemRemoved 이벤트 유형이 등록되고 항목이 캐시에서 제거됩니다.

이벤트 실행 시 반환되는 정보를 다음을 사용하여 제어할 수도 있습니다. 이벤트 데이터 필터 이에 대해서는 다음에서 더 자세히 논의합니다. 이벤트 필터 섹션. 데이터별 이벤트는 다음과 같이 세부적으로 분류할 수 있습니다.

캐시 레벨 이벤트

The 캐시 레벨 이벤트 실행 시 트리거되는 캐시에 대한 일반 이벤트입니다. 추가, 업데이트및 제거 캐시 데이터에 대한 작업입니다. 이 기능은 캐시에서 수행되는 모든 작업에 대해 여러 클라이언트에게 알리는 데 사용됩니다. 기본적으로 캐시 수준 이벤트는 모든 캐시 구성에서 비활성화되어 있으며(캐시 삭제 작업 제외), 다음을 사용하여 이벤트를 게시하려면 활성화해야 합니다. NCache 관리 센터.

경고

캐시 수준 이벤트는 전체 캐시 데이터 세트에 대한 모든 작업에 대해 알림이 등록될 경우 애플리케이션 성능을 저하시킬 수 있습니다.

아이템 레벨 이벤트

The 아이템 레벨 이벤트 캐시에 저장된 모든 작업에 대한 알림이 아닌, 제한된 데이터 세트에 대한 알림만 받고 싶을 때 유용합니다. 예를 들어, 캐시에 대량의 데이터가 저장되어 있고 데이터 세트에 변경 사항이 발생할 때마다 애플리케이션에 알림이 전송되면 오버헤드가 발생하여 애플리케이션 성능에 부정적인 영향을 미칩니다.

주의 사항

성능 향상을 위해 관심 있는 데이터 세트에 대해서만 알림을 등록할 수 있습니다.

캐시는 지정된 키의 변경 사항을 모니터링하는 역할을 합니다. 선택한 데이터 세트가 이미 캐시에 존재하므로, 아이템 레벨 이벤트 이러한 콜백 메서드는 업데이트 또는 삭제 작업에 대해서만 실행됩니다. 애플리케이션은 API 호출을 사용하여 캐시의 특정 키에 대한 콜백 메서드를 등록하고, 해당 키가 캐시에서 업데이트되거나 삭제될 때마다 알림을 받습니다. 이러한 알림은 클라이언트로 비동기적으로 전송되므로 클라이언트 작업에 추가적인 오버헤드가 발생하지 않습니다.

주의 사항

이후 아이템 레벨 이벤트 이미 캐시에 있는 데이터 세트에 등록되어 있으므로 추가 알림을 받을 수 없습니다.

관리 수준 이벤트

The 관리 수준 이벤트 캐시 클러스터에서 수행되는 모든 관리 작업에 대해 알림을 받으려는 경우에 유용합니다. 알림 서비스 인터페이스. 이러한 이벤트는 캐시에 대한 작업이 예상대로 진행되고 있는지 확인하는 데 도움이 될 수 있습니다. 예를 들어, 하나의 스레드가 일정한 속도로 항목을 삽입하는 데 전념하는 멀티스레드 클라이언트 애플리케이션을 생각해 보세요. 삽입 중에 캐시가 중지되면, NCache 클라이언트가 던질 것입니다 OperationFailedException예외 발생을 방지하려면 캐시가 중지될 때 스레드가 적절한 조치를 취해야 합니다. 이는 캐시 중지 동작에 대한 이벤트를 등록함으로써 쉽게 구현할 수 있습니다.

이 예시는 캐시 삭제 알림에도 적용됩니다. 클라이언트 애플리케이션 스레드가 캐시가 삭제되는 동안 유효성 검사를 수행하는 경우, 애플리케이션이 캐시 삭제 이벤트를 처리하지 않으면 해당 유효성 검사가 실패합니다. 캐시에 대한 관리 작업이 수행될 때 다음과 같은 알림이 발생합니다.

  • 캐시 삭제 알림: 캐시가 지워지면 캐시 삭제 알림이 발생합니다.

  • 캐시 중지 알림: 캐시가 중지되면 캐시 중지 알림이 발생합니다. 애플리케이션이 캐시가 중지되었음을 인지하지 못한 채 작업을 계속 수행하면 예외가 발생합니다.

  • 회원 가입 알림: 멤버 참여 알림은 새 노드가 캐시 클러스터에 참여할 때 발생합니다. 캐시 관리자 또는 클러스터 상태를 모니터링하는 사용자는 이 이벤트를 활용하여 클러스터 관리와 관련된 작업을 자동화할 수 있습니다. 따라서 멤버가 클러스터에 참여하면 자동화된 작업이 중단 없이 계속될 수 있도록 해당 이벤트를 처리해야 합니다.

  • 회원 탈퇴 알림: 구성원이 클러스터를 떠날 때 구성원 왼쪽 알림이 시작됩니다.

클라이언트 활동 이벤트

클라이언트 활동 이벤트는 클라이언트가 캐시에 연결되거나 연결이 끊어질 때 애플리케이션에 알립니다. 클러스터형 캐시에 연결된 모든 클라이언트는 이러한 이벤트를 구독하여 다른 클라이언트의 연결 또는 연결 해제에 대한 알림을 받을 수 있습니다.

또한 유지 기간을 지정할 수 있습니다. 이 기간은 연결이 끊긴 클라이언트가 연결이 끊긴 것으로 간주되고 연결 끊김 이벤트가 발생하는 시간입니다. 클라이언트가 이 유지 기간 내에 다시 연결되면 연결 끊김 이벤트는 발생하지 않습니다.

이 기능은 불안정한 네트워크로 인해 발생하는 우발적이거나 짧은 연결 끊김을 보완하는 데 도움이 됩니다. NCache 클라이언트가 운영을 중단하지 않고 자동으로 다시 연결됩니다. 단, 수동으로 연결을 해제하고 다시 초기화하는 클라이언트에는 이 기능이 적용되지 않습니다. 클라이언트 활동 알림 활성화 인간을 NCache 관리 센터 사용하기 전에.

이벤트 데이터 필터

NCache 제공 EventDataFilter 데이터 관련 이벤트 실행 시 반환되는 정보의 양을 제어합니다. 이벤트 필터의 유형은 아래에 설명되어 있습니다.

경고

불필요한 네트워크 대역폭 소비를 방지하려면 이벤트 데이터 필터를 신중하게 설정해야 합니다.

없음

이 필터는 이벤트 알림에서 작업의 영향을 받은 키만 반환합니다. 애플리케이션에서 어떤 키가 변경되었는지 알아야 하지만 관련 값은 필요하지 않은 경우에 유용합니다. 예를 들어, 전자상거래 사이트에서 제품 세부 정보를 직접 가져오지 않고도 어떤 제품 키가 추가되었는지 추적하려는 경우에 사용할 수 있습니다.

메타 데이터

이 필터를 사용하면 메타데이터와 함께 영향을 받는 키가 이벤트 알림에 반환됩니다. 반환되는 메타데이터에는 다음이 포함됩니다. 그룹, 캐시 항목 우선 순위, 만료, 캐시 항목 버전, 재동기화 옵션, 캐시 항목 제거 이유예산 및 항목 유형. 이 정보는 사용자에게 필요할 수 있습니다. 예를 들어 애플리케이션이 캐시에서 제거된 키와 해당 키가 속한 그룹을 알고 싶어하는 경우입니다.

데이터와메타데이터

이 필터는 캐시된 항목 및 관련 메타데이터와 함께 키를 반환합니다. 애플리케이션이 수정된 데이터를 직접 처리해야 할 때 유용합니다. 예를 들어, 은행 애플리케이션은 어떤 고객 정보가 변경되었는지 알아야 할 수 있습니다. 이 필터를 사용하여 항목 업데이트 알림을 등록하면, 이벤트가 발생했을 때 애플리케이션은 항목 키와 업데이트된 항목을 모두 수신할 수 있습니다.

사용법 - DataWithMetadata 필터는 항목을 다시 가져올 때 여행을 저장합니다. 돈을 받아가세요 API를 사용할 수 있습니다. 하지만 대량의 데이터를 반환할 경우 네트워크 오버헤드가 증가할 수 있으므로 필요한 경우에만 사용해야 합니다.

경고

클라이언트 연결이 끊긴 경우 클라이언트의 연결이 끊긴 시간 동안 이벤트가 기록되지 않습니다.

토폴로지 현명한 동작

사용 중인 캐시 토폴로지에 따라 이벤트 알림이 발생합니다. 이벤트 알림에 대한 토폴로지 방식 동작은 다음과 같이 설명됩니다.

  • 복제된 토폴로지: 복제된 토폴로지에서 클라이언트에 연결된 클러스터의 노드는 이벤트 알림을 발생시키는 역할을 담당합니다.

  • 파티션-복제본 토폴로지: 파티션-복제본 토폴로지에서 이벤트는 활성 노드에서 발생합니다. 기준 기반 데이터를 저장하는 노드가 해당 이벤트 알림을 생성하는 역할을 담당합니다.

  • 분할된 토폴로지: 분할 토폴로지에서는 모든 노드에서 이벤트가 발생합니다. 기준 기반 데이터를 저장하는 노드가 해당 이벤트 알림을 생성하는 역할을 담당합니다.

이 섹션의

캐시 레벨 이벤트
캐시 수준에서 발생하는 이벤트에 대한 알림 메커니즘을 사용하는 방법을 설명합니다.

아이템 레벨 이벤트
항목 수준에서 발생하는 이벤트에 대한 알림 메커니즘을 사용하는 방법을 설명합니다.

관리 수준 이벤트
관리 수준 이벤트 메커니즘을 추가하는 방법을 설명합니다.

문의하기

전화

+1 214-619-2601   (미국)

+44 20 7993 8327   (UK)

 
이메일

sales@alachisoft.com

support@alachisoft.com

NCache
  • 판 비교
  • NCache 아키텍처
  • 벤치 마크
다운로드
가격
놀이터를 사용해보십시오

배포
  • 클라우드(SaaS 및 소프트웨어)
  • 온 프레미스
  • Kubernetes
  • 도커
기술 사용 사례
  • ASP.NET 세션
  • ASP.NET 코어 세션
  • 게시/구독 메시징
  • 실시간 ASP.NET SignalR
  • 사물의 인터넷 IOT ()
  • NoSQL 데이터베이스
  • 스트림 처리
  • 마이크로 서비스
리소스
  • 잡지 기사
  • 제XNUMX자 기사
  • 기사
  • 비디오
  • 백서
  • 쇼
  • 회담
  • 블로그
  • 기술 문서
고객 사례 연구
  • 환자 후기
  • 고객
고객 지원
  • 데모 예약
  • 포럼(Google 그룹스)
  • Tips
회사
  • Leadership
  • 파트너
  • ​뉴스
  • 이벤트
  • 채용 정보
문의하기

  • 영어중국어 (간체)프랑스어독일 사람이탈리아 사람일본제한국어포르투갈어스페인어

  • 문의하기
  •  
  • 사이트 맵
  •  
  • 이용 약관
  •  
  • 개인정보 처리방침
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.
맨 위로