복붙노트

[REDIS] 레디 스 연결 오류는 푸른 VM에 Booksleeve 레디 스 클라이언트를 사용하는 경우

REDIS

레디 스 연결 오류는 푸른 VM에 Booksleeve 레디 스 클라이언트를 사용하는 경우

나는 최근에 새로운 푸른 가상 머신에 내 측면의 프로젝트를 호스팅 시작했습니다. 응용 프로그램은 메모리 내 캐시로 레디 스를 사용합니다. 모든 것은 내 로컬 환경에서 잘 작동했지만 지금은 푸른 I에 코드를 이동 한 것을 Booksleeve에서 나오는 몇 가지 이상한 예외를보고 있어요.

앱을 먼저 발사하면 모든 것이 잘 작동합니다. 그러나 비활성 5-10에 대한 분 응용 프로그램에 다음 요청은 네트워크 예외를 (내가 집에 경우를 얻을 때 나는 그들을 게시 할 예정입니다, 그래서 내가 지금 일하고있어 나에 정확한 오류 메시지가없는 경험 사람들은 토론 방법입니다 밀접한 관계)이 예외 ( "큐입니다 닫힘")를 던지는 가까운 내부 MessageQueue가, 이후의 모든 인큐 결과를 ()가 발생 생각합니다.

그래서 일부 인터넷 검색 후 나는이 SO 게시물을 발견 : DIY를 연결 관리자에 대한 BookSleeve를 사용하여 오픈 레디 스 연결을 유지. 그 최선의 조치가 있다면 나는 확실히 비슷한 구현할 수 있습니다.

그래서, 질문 :

내가 말했듯이 같은 레디 스 연결이 비활성 상태가 지속되면 죽을 것이 이상한 만약 내가 집에 도착하면, 내 로그에서 스택 추적 및 예외를 게시 할 예정입니다.

감사!

최신 정보 디디에은 푸른 사용하는이가 부하 balanacer 관련이있을 수 있다는 의견에서 지적 : http://blogs.msdn.com/b/avkashchauhan/archive/2011/11/12/windows-azure-load-balancer-timeout -details.aspx

그 가정이 바보 같은 문제를 설명 할 수있는 연결 관리자를 구현하는 가장 좋은 방법 일 것입니다 무슨 경우,입니다. 내가 작업 권리의 단위 당 연결을 만들 수 없습니다해야 같은데요?

해결법

  1. ==============================

    1.이것은 소켓 모양 유휴 종료, 푸른 인프라로 인해 발생과 같은 다른 답변 / 의견에서, 그것은 소리. 당신은 단순히 타이머 어딘가에있을 수있는 수행이 이미 Booksleeve에 내장되어 몇 가지 주기적으로 작업의 종류,하지만 참고 :이 레디 스 연결 시간 초과가 무엇인지, 그 검사를 연결하고 소켓을 닫는 레디 스를 방지하기 위해 하트 비트를 구성 할 때. 당신은이 푸른 너무 소켓을 닫는 방지하기 위해 돼지 - 백업 할 수 있습니다. 예를 들어, 레디 스 - CLI 세션 :

    이것은 소켓 모양 유휴 종료, 푸른 인프라로 인해 발생과 같은 다른 답변 / 의견에서, 그것은 소리. 당신은 단순히 타이머 어딘가에있을 수있는 수행이 이미 Booksleeve에 내장되어 몇 가지 주기적으로 작업의 종류,하지만 참고 :이 레디 스 연결 시간 초과가 무엇인지, 그 검사를 연결하고 소켓을 닫는 레디 스를 방지하기 위해 하트 비트를 구성 할 때. 당신은이 푸른 너무 소켓을 닫는 방지하기 위해 돼지 - 백업 할 수 있습니다. 예를 들어, 레디 스 - CLI 세션 :

    config set timeout 30
    

    30 제 2 접속을 제한하도록 (다시 시작할 필요없이, 즉석에서) 레디 스를 구성한다. Booksleeve가 자동으로 하트 비트를 30 초 직전이 있는지 확인하기 위해 조치를 취해야한다. 이 작업이 성공하면이 설정이 너무 다음 다시 시작한 후에 적용되도록, 당신은 또한 구성 파일을 편집해야합니다.

  2. ==============================

    2.윈도우 Azure의 Load Balancer는 부하 분산에 총 연결 부하에 따라 시간의 X 금액 후 연결을 종료하고 그 때문에 당신은 당신의 연결에 임의의 시간 제한을 받게됩니다.

    윈도우 Azure의 Load Balancer는 부하 분산에 총 연결 부하에 따라 시간의 X 금액 후 연결을 종료하고 그 때문에 당신은 당신의 연결에 임의의 시간 제한을 받게됩니다.

    내가 잘 레디 스 연결에 알려지지 않은 이대로가 올바르게 그러나 제안 된 해결 방법은 살아 세션을 유지하는 하트 비트 펄스를 가지고 있습니다 일반적으로 그것을 구현하는 방법을 제안 드릴 수 없습니다. 당신이 블로그에 제시된 해결 방법을 찾아 그 당신을 위해 밖으로 작동하는 경우, 레디 스에서 구현하기 위해 시도하는 기회가 있나요?

  3. from https://stackoverflow.com/questions/11000187/redis-connection-errors-when-using-booksleeve-redis-client-in-azure-vm by cc-by-sa and MIT license