Overlord 서비스
Overlord 서비스 (Overlord service)
Overlord 서비스는 task를 받아들이고, task 분배를 조정하고, task 주위에 lock을 만들고, 호출자에게 상태를 반환하는 역할을 담당해요. local 또는 remote 두 가지 모드 중 하나로 실행되도록 구성할 수 있어요(local이 기본).
출처: 문서
본문
Overlord 서비스는 task를 받아들이고, task 분배를 조정하고, task 주위에 lock을 만들고, 호출자에게 상태를 반환하는 역할을 담당해요. Overlord는 local 또는 remote 두 가지 모드 중 하나로 실행되도록 구성할 수 있어요(local이 기본).
local 모드에서는 Overlord가 task 실행용 Peon을 만드는 역할도 담당해요. local 모드로 Overlord를 실행할 때는 모든 Middle Manager와 Peon 구성도 함께 제공해야 해요.
local 모드는 보통 단순한 워크플로에 사용돼요. remote 모드에서는 Overlord와 Middle Manager를 별도 서비스로 실행하며, 각각을 서로 다른 서버에서 실행할 수 있어요.
이 모드는 indexing service를 모든 Druid indexing의 단일 엔드포인트로 사용하려는 경우에 권장돼요.
설정 (Configuration)
Apache Druid Overlord 서비스 설정은 Overlord Configuration을 참고하세요.
Overlord 서비스에 대한 기본 튜닝 지침은 Basic cluster tuning을 참고하세요.
HTTP 엔드포인트
Overlord가 지원하는 API 엔드포인트 목록은 Service status API reference를 참고하세요.
블랙리스트 처리된 워커
Middle Manager의 task 실패가 임계값을 초과하면 Overlord는 이 Middle Manager를 블랙리스트 처리해요. Middle Manager의 20% 이상은 블랙리스트 처리될 수 없어요. 블랙리스트 처리된 Middle Manager는 주기적으로 화이트리스트 처리돼요.
임계값과 블랙리스트 타임아웃을 설정하는 데 다음 변수를 사용할 수 있어요.
druid.indexer.runner.maxRetriesBeforeBlacklist
druid.indexer.runner.workerBlackListBackoffTime
druid.indexer.runner.workerBlackListCleanupPeriod
druid.indexer.runner.maxPercentageBlacklistWorkers
자동 확장 (Autoscaling)
현재 마련된 자동 확장 메커니즘은 배포 인프라와 밀접하게 결합되어 있지만, 다른 구현을 위한 프레임워크는 마련되어 있어야 해요. 새 구현이나 기존 메커니즘의 확장에 매우 개방적이에요. 우리 배포에서 Middle Manager 서비스는 Amazon AWS EC2 노드이며, galaxy 환경에 스스로 등록하도록 프로비저닝돼요.
자동 확장이 활성화되면 task가 너무 오래 pending 상태로 있으면 새 Middle Manager가 추가될 수 있어요. 일정 기간 task를 실행하지 않은 Middle Manager는 종료될 수 있어요.
더 알아보기 (Learn more)
- Middle Manager — Overlord가 task를 분배하는 워커 서비스를 알아봐요.
- Tasks API — task를 관리하는 Overlord API를 살펴봐요.
- Overlord Configuration — Overlord 서비스 설정을 자세히 알아봐요.