이 대기열을보고있는 여러 작업자가있는 단일 작업 대기열이 있습니다. (각 작업은 단일 사용자에 해당). 주어진 시간에 대기열에있는 사용자 당 여러 작업이있을 수 있습니다.사용자 당 하나의 작업 만 주어진 시간에 작업자가 처리 할 수있는 작업 대기열 시스템 설계
저는 직원이 주어진 시간에 사용자 당 2 개 이상의 직업을 처리하는 것을 원하지 않습니다. 이 시간에이 사용자를 처리하는 다른 작업자가없는 경우에만 작업자가 작업을 선택해야합니다. 사용자의 작업이 작업자에 의해 처리되는 경우, 작업이 끝나 자마자 바로 다음 사용자 작업을 선택하기를 원합니다.
나는 근로자를 불가지론 자로 유지하고 싶다. (즉, 모든 근로자가 어떤 사용자의 일을 처리 할 수 있어야한다.) 이렇게하면 수평으로 확장하는 데 도움이됩니다.
어떻게해야합니까? 나는 사용자 당 별도의 대기열을 만드는 방법에 대해 설명하고 있지만 작업자는 엄청난 수의 대기열을 감시해야하며 자원을 낭비 할 수 있습니다. 내가 지금 대기열 서버로 beanstalkd를 사용하고 있습니다.
도움을 주시면 감사하겠습니다.