예외발견
(Exception): The free-quota limit on '6000 Redis requests per hour' has been reached. Please see https://servicestack.net to upgrade to a commercial license or visit https://github.com/ServiceStackV3/ServiceStackV3 to revert back to the free ServiceStack v3.
증상 1. 서버에서 나타나는 예외로, Redis간 Request처리시에 한시간에 6000건이 넘으면 예외가 발생된다. 즉 DLL을 따로 구입해서 처리해야한다. sinfo@sinfo:~/exture_3_0_ticker/mdiwebrowser/bin/Debug/net7.0$ ls -lrt Ser* -rw------- 1 sinfo sinfo 553984 Sep 18 07:52 ServiceStack.dll -rw------- 1 sinfo sinfo 33792 Sep 18 07:52 ServiceStack.Interfaces.dll -rw------- 1 sinfo sinfo 20480 Sep 18 07:52 ServiceStack.ServiceInterface.dll sinfo@sinfo:~/exture_3_0_ticker/mdiwebrowser/bin/Debug/net7.0$ |
해당 오류 메시지는 현재 사용 중인 ServiceStack의 무료 사용 한도를 초과했음을 나타냅니다. ServiceStack은 무료 사용과 상용 라이센스를 제공하며, 무료 사용에는 요청 수에 제한이 있습니다. 오류 메시지에서는 Redis 요청이 시간당 6000건의 무료 한도를 초과했음을 알리고 있습니다.
이 문제를 해결하기 위한 방법은 다음과 같습니다:
1. 상용 라이센스 구매
ServiceStack의 상용 라이센스를 구매하면 무료 사용 한도를 넘어서서 더 많은 요청을 처리할 수 있습니다. 라이센스 구입에 대한 정보는 ServiceStack 웹사이트에서 확인할 수 있습니다. 상용 라이센스를 구매하면 보다 높은 한도와 추가적인 기능을 제공받을 수 있습니다.
2. ServiceStack v3로 되돌리기
무료로 제공되는 ServiceStack v3는 최신 버전보다 기능이 제한적일 수 있지만, 무료 사용 한도는 더 넉넉할 수 있습니다. ServiceStack v3로 돌아가려면, ServiceStack GitHub 레포지토리에서 v3 버전을 다운로드하고 사용하세요.
ServiceStack v3로 변경하는 방법:
- 기존 패키지 제거: 현재 사용 중인 ServiceStack 패키지를 제거합니다.
-
코드 복사dotnet remove package ServiceStack
- bash
- ServiceStack v3 패키지 설치: v3 버전의 ServiceStack 패키지를 설치합니다. 이 패키지는 NuGet에서 찾을 수 있습니다. 패키지 버전이 맞는지 확인하고 설치합니다.
-
bash코드 복사dotnet add package ServiceStack --version [v3.0.0] # 실제 v3 버전 번호로 대체
- 프로젝트 업데이트: 코드에서 ServiceStack API 사용 방식을 확인하고 v3 버전에 맞게 필요한 변경을 적용합니다.
3. Redis 요청 수 조절
Redis 요청 수를 줄이는 방법을 고려해볼 수 있습니다. 캐싱 전략을 개선하거나 불필요한 요청을 줄이는 방법으로 Redis 요청 수를 조절할 수 있습니다.
몇 가지 조언:
- 캐시 전략 최적화: 캐시 만료 시간, 캐시 키 관리 등을 조정하여 Redis 요청을 줄일 수 있습니다.
- 데이터 전송 최적화: 필요 없는 데이터 전송을 줄이고 필요한 데이터만 요청하도록 최적화합니다.
4. Alternative Caching Solutions
Redis 외에도 다양한 캐싱 솔루션이 있습니다. 필요에 따라 다른 캐싱 솔루션을 검토하고 적용할 수 있습니다. 예를 들어, 메모리 기반 캐시 또는 파일 시스템 기반 캐시를 사용할 수 있습니다.
요약
- 상용 라이센스 구매 또는
- ServiceStack v3로 버전 다운그레이드 또는
- Redis 요청 수를 줄이는 전략 적용
이 방법들 중에서 상황에 맞는 해결책을 선택하여 문제를 해결할 수 있습니다.
'c# 언어' 카테고리의 다른 글
c# redisTicker.server 를 Windows/Linux에서 빌드및 실행 (0) | 2024.09.22 |
---|---|
C#에서 Redis에 접속하기 위해 사용할 수 있는 대표적인 패키지 (0) | 2024.09.19 |
C#에서 클래스를 생성할 때 new 키워드(먼저 훑어보기) (0) | 2024.09.14 |
플랫버퍼에서 데이터를 읽고 쓰는 방법은 다음과 같습니다. (0) | 2024.04.01 |
SBE (Simple Binary Encoding) (0) | 2024.04.01 |