2014-11-25 4 views
1

azure 서비스 버스에 새로 출시 된 EventHub를 테스트 할 코드를 작성합니다.Azure ServiceBus Eventhub는 일부 이벤트 데이터가 만료 된 경우에도 여전히 사용 가능/영구적 인 "오프셋"입니까?

온라인으로 기사가 거의 없기 때문에 msdn에는 이벤트 허브의 세부 사항에 대한 풍부한 문서가 없습니다. 그래서 누군가 내 질문에 대한 당신의 경험을 공유 할 수 있기를 바랍니다. 우리는 우리가 될 것 EventHub 일부 파티션에서

  • 이벤트 데이터를 이벤트 데이터를 읽을 때 위치를 기억하기 위해 "오프셋"을 사용

    • : 우리는 문 다음 한 EventHub를 들어

      시의 (자동?) 만료 된 일부 구성 가능한 시간 범위 다음에

      그래서 내 질문은

    offset은 여전히 ​​가능/내구성이 될 수 있습니다 만료의 결과로 이벤트 데이터의 ome가 삭제됩니까? 예를 들어

    , 우리는 파티션 하나에 데이터를 다음 있습니다 :

    내 처리 로직이 실행
    M1 | M2 | M3 | M4 (oldest --> latest) 
    

    후, 이제 (때 내가 M1M2 처리, 그래서 M2의 시작이 될 것 상쇄했다고 가정 해 봅시다 독점 모드 사용).

    잠시 후 그리고 그 시간 동안 내 서비스가 중단 된 경우. M1은 만기의 결과로 삭제됩니다. 는 I 여전히 M3에서 읽을 수 사용할 수 있습니다 이전에 저장된 오프셋 내 서버가 다시 다시 시작할 때이 경우

    M2 | M3 | M4 | M.... (oldest -> latest) 
    

    을,있다 : 그래서 파티션이 될 것입니다?

    또한 가장 오래된 이벤트 데이터의 일부가 만료되었을 때 소비자 서버가 eventhub에서 이벤트 데이터를 읽고있을 때이 케이스를 런타임에 이미지 할 수 있습니다. offset은 런타임에서도 계속 사용할 수 있습니까?

    이 질문을 공유해 주셔서 감사합니다.

  • 답변

    0

    나는 당신의 starting offset를 더 이상 사용할 수없는 경우에 필요하지 않기 때문에 현재 스트림의 처음부터 시작됩니다 생각하는 방법을 다양한 documentationiswritten의 일부 기초. EventProcessorHost은 유사한 제한 사항을 따라야합니다. sequence numbers은 64 비트이기 때문에 그 중 하나가 재활용되지 않고 단조롭게 증가하기 때문에 파티션 내의 오프셋으로 사용할 수있을 것으로 기대됩니다. offset은 비슷한 속성을 가져야합니다. 따라서 EventHubs가 합리적인 방식 (예 : 유사한 솔루션)으로 설계되면 데이터 만료에도 불구하고 파티션 내의 오프셋을 유지할 수 있습니다. 그러나 아직 내가 직접 테스트하지 않았기 때문에 그렇게되지 않는다면 나는 매우 불행 할 것입니다. 그리고 저는 Azure 사람이 진정한 확신을 줄 수 있기를 기대합니다.

    +0

    예, 전 동일한 가정을 가지고 있습니다. 희미한 팀이 이미이를 알고 있었고 현재 출시 된 SDK에서 구현되도록하기를 바랍니다. – winterTTr

    관련 문제