농장에서 정기적 인 작업을 공유하기위한 최상의 전략
-
19-09-2019 - |
문제
여기에 문제가 있습니다. 예를 들어 매월 잔액을 생성하는 등 비즈니스 정기적 인 작업이 있다고 가정합니다. 해당 작업은 농장에서 실행될 수 있으므로 정기 작업을 실행하는 컴퓨터가 실패하면 다른 컴퓨터로 전달해야합니다.
그렇다면 어떻게 정기적 인 작업을 지속하고 농장에서 안전하게 만들 수 있습니까? 나는 지속적이고 공유 된 대기열에서 생각했지만 상당히 붙어 있습니다.
어떤 아이디어?
미리 감사드립니다.
해결책
질문에는 많은 요인이 누락되었습니다. 작업에 어떻게 액세스하고 있습니까? 웹 서비스인가요? 원격 절차 호출? 자체적으로 실행되고 결과를 공유 폴더에 저장합니까?
그것이 단지 웹 서비스라면 솔루션이 순서대로 쿼리하는 것일 수 있습니다. 하나를 사용할 수 없다면 다음으로 진행할 수 있습니다 ... 아마도 RPC는 동일한 절차로 처리 될 수 있습니다. 물론 이것은 잘 확장되지 않으며 약간의 임시이지만 다른 시간에 시간이 없다면 트릭을 수행 할 수 있습니다.
실제로 확장하는 데 필요한 시간과 돈이 있다면 조절 재구성 이것이 당신이 찾고있는 결함 공차의 기초입니다. 물론 이것은 컨트롤러 (@jldupont가 호출하는 감독 기계)와 모든 것을 함께 유지하기위한 많은 메커니즘과 노력을 의미합니다.
정말로 필요한 경우에만 가치가 있습니다. 시간과 돈 모두에 대한 큰 투자이므로 시원하기 때문에 대담하게하지 마십시오.
다른 팁
1에서 1에서 1로가는 것은 항상 큰 단계입니다.
옵션 1
(무엇보다도) 필요합니다.
- 감독자 기계
- 심장 박동 프로토콜 / 고장 감지
- 작업 일정에 대한 선거 프로토콜
- 작업 스케줄러
- 직업보고
등.
옵션 2
여러 기계가 작업을 수행하고 그 중 하나에서 성공적인 출력을 선택하십시오 (또는 필요하다고 생각되면 다수 투표를 사용하십시오).
기술 스택이 무엇인지 확실하지 않지만 석영 (또는 quartz.net .NET 스택을 사용하는 경우). Quartz는 강력한 실패/HA 기능을 갖춘 엔터프라이즈 작업 스케줄러입니다.