따라서 시나리오는 다음과 같습니다.
Azure Storage에 데이터 blob을 쓰는 웹 서비스의 여러 인스턴스가 있습니다. Blob을받은시기에 따라 컨테이너 (또는 가상 디렉터리)로 그룹화 할 수 있어야합니다. 가끔 (최악의 경우 매일) 오래된 Blob이 처리 된 다음 삭제됩니다.
두 가지 옵션이 있습니다.
옵션 1
예를 들어 "blobs"라는 하나의 컨테이너를 만든 다음 모든 블로그를 해당 컨테이너에 저장합니다. 각 Blob은 디렉터리 이름이 수신 된 시간 인 디렉터리 스타일 이름을 사용합니다 (예 : "hr0min0 / data.bin", "hr0min0 / data2.bin", "hr0min30 / data3.bin", "hr1min45 / data.bin). ", ...,"hr23min0 / dataN.bin "등 -X 분 마다 새 디렉토리 ). 이러한 Blob을 처리하는 것은 먼저 hr0min0 Blob을 처리 한 다음 hr0minX 등을 처리합니다 (Blob은 처리 중일 때 여전히 기록 중임).
옵션 2
도착 시간을 기반으로 한 이름을 가진 컨테이너가 많이 있고 (첫 번째는 blobs_hr0min0, blobs_hr0minX 등) 컨테이너의 모든 Blob은 명명 된 시간에 도착한 Blob입니다. 이러한 블로그를 처리하는 것은 한 번에 하나의 컨테이너를 처리합니다.
제 질문은 어떤 옵션이 더 낫습니까? 옵션 2는 더 나은 병렬화를 제공합니까 (컨테이너가 다른 서버에있을 수 있기 때문에) 또는 많은 컨테이너가 다른 알 수없는 문제를 일으킬 수 있기 때문에 옵션 1이 더 나은가요?