2016-09-20 3 views
0

: https://github.com/Azure-Samples/service-fabric-dotnet-iot은, 그것은 m_MaxNumOfBufferedWorkItems의 현재 값이 10000서비스 패브릭 신뢰성 컬렉션 용량

이다 컬렉션에 현재 존재하는 수의 항목에 대한

if(currentNumberOfBufferedWorkItems >= m_MaxNumOfBufferedWorkItems) 
     { 
      throw new InvalidOperationException($"Work Manger is at maximum buffered work items:{currentNumberOfBufferedWorkItems}"); 
     } 

같은 것을 확인 Reliable collection의 Maximum Buffer 값을 설정하기 위해 고려해야 할 요소는 무엇입니까?

답변

3

제공된 예제에서 대기열을 사용하여 나중에 처리 할 항목을 버퍼링합니다. 그들은 항목 수를 검사하여 버퍼의 크기를 제한합니다. 이것은 컬렉션 자체에 의해 제한되지 않고 선택에 의한 것입니다. 신뢰할 수있는 모음의 크기는 노드의 디스크 공간에 의해서만 제한됩니다.

이 예제의 버퍼 제한은 처리 용량에 의해 결정되어야합니다. 버퍼가 제어 불능 상태가되면 처리 능력을 추가해야합니다.

+0

모음의 크기가 디스크 공간으로 만 제한되는지 확실하지 않습니다. 이전에는 SF 신뢰할 수있는 콜렉션이 .net - 2GB의 다른 콜렉션과 동일한 제한 사항을 갖고 있으며 향후 릴리스에서 SF 팀이 이러한 제한 사항을 제거 할 것이라고 명시되었습니다. 내가 뭔가를 오해하고 실제로 제한이 없는가? – cassandrad

+1

매튜 스나이더 (Matthew Snider, MSFT)는 제한 사항이 여기에있는 의견에서 삭제되었다고 지적했습니다. https://azure.microsoft.com/en-us/documentation/articles/service-fabric-work-with-reliable-collections/ {2GB 제한은 이전에 삭제되었습니다 (바보 같은 int). 오늘은 값에 대한 모든 키와 디스크의 크기에 대한 메모리로 제한됩니다 (사전의 값을 페이지 아웃 했으므로). – LoekD

관련 문제