동일한 역할을하는 여러 파란색 인스턴스를 동기화하는 모범 사례에 대해 궁금합니다. 좀 더 정확히 말하면, 여러 작업자 역할이 동일한 작업 단위에서 작동하지 못하도록하고 싶습니다.Azure 역할 간 동기화
하늘빛 대기열은이 문제에 도움이되지 않습니다. 하나의 옵션은 잠금 및 저장 프로 시저가있는 SQL 테이블을 사용하는 것입니다. 그러나 Azure에서 SQL 동기화를 사용하는 것은 약간 어색한 것으로 보입니다.
아이디어가 있으십니까?
- 는 N 목표 있습니다 : 다음과 같이
편집, 내 세부 (그러나 간단한 문제)입니다.
- 작업 단위 (UOW)는 지정된 간격 (예 : 30 초 - 각 대상마다 다름)으로 각 대상에서 수행되어야합니다.
- 저는 m 명의 근로자가 있습니다 (h 인스턴스에서 호스팅 됨).
- 작업 단위 (UOW)를 처리하는 데는 10 초에서 1 시간이 걸릴 수 있습니다.
아이디어 내가 푸른 대기열에서 작업 단위를두고 스케줄러을 가지고 있고, m 근로자의 각이를 읽고이를 처리 할 것입니다.
문제 :
- worker1에 시작은 (이 target1가 관련되어) 유니트 1 작업 -이 사람이 오래 걸릴 것입니다, 10 분
- 30 초
- 을 통과 말 스케줄러가 다른 작업 단위를 대상 1, 예를 들어 unit13 나는 몇 가지 아이디어를 가지고 있지만, 그들은 흐린 충분하지 않는 것, 그래서에 관심이
좋지 않다 - 같은 이 target1에 대해, unit13 작업
왜 대기열이 여기에서 작동하지 않을 것이라고 생각하십니까? 대기열은 한 번 수행해야하는 작업을 조정하는 전통적인 방법입니다. 약간의 미묘한 차이가 있지만 90 %의 경우에는 대기열이 있습니다. – dunnry
David의 답변에 동의합니다. 대기열은 일반적으로 좋은 옵션입니다. 대기열을 수행 할 수없는 경우도 있습니다. 그러나 그러한 경우 문제를 자세하게 설명하십시오. 더 나은 답변을 제공하려고 노력할 것입니다. –
나는 Azure를 위해 UserVoice에 아이디어를 게시했습니다. - http://entlib.uservoice.com/forums/101257-windows-azure-integration-pack/suggestions/2050987-distributed-synchronization?ref=title 대기열이 작동하지 않는 경우 유용 할 수 있습니다. –