GH GambleHub

스케줄러 및 배경 작업

(섹션: 운영 및 관리)

1) 목적

스케줄러 및 배경 작업은 주기적 계산, 아티팩트 게시, 정리 및 큐 재생 등 플랫폼의 비 사용자 작동을 보장합니다. 목표는 결정론, 결함 내성 및 감사성입니다.


2) 작업 분류

시간 기반: 예약 된 (크론/캘린더): 청소, RTP 창 닫기, 업로드, 보관.
이벤트 중심: 버스에서 트리거 (PaymentsSettled, PriceListuped).
일회성/임시: TTL이있는 일회성 bs.
장기 실행: 백오프/사가, 스트리밍 컴팩트.
유지 보수: 주요 회전, 재 포장, 색인, 캐시 예열.


3) 아키텍처 (참조)

구성 요소:

1. 스케줄러 (제어 평면): 일정, CAL/cron, 유지 보수 창, 가장 중요한 항목입니다.

2. 디스패처: → 대기열 (우선 순위/테넌트/지역) 을 계획하고 마감일, demempotent 키를 넣습니다.

3. 작업자: 작업 풀을위한 정적/자동 스케일; 심장 박동, 임대.

4. 큐/버스: FIFO/우선 순위, DLQ, 지연된 메시지.

5. 사물함/조정: 분산 잠금 장치 (임대), 지도자 선거 (Raft/ZK/Consul).

6. Vault/KMS: JIT 비밀, 짧은 TTL.

7. 관찰 가능성: 추적/메트릭/로그, 대시 보드, 경고.

8. 감사/세계: 불변의 실행 영수증, 머클 슬라이스.

패턴: 아웃 박스/CDC, demempotency, 보상 (sagas), 역압, 회로 차단기.


4) 일정: 크론과 캘린더

크론 v3: 두 번째/분/시간/일/월/일; "/5 ", 범위, 목록에 대한 지원.
달력/예외: 비즈니스 캘린더, 침묵 창, 휴일/DST.
시간대: 작업에 'tz' 를 유지하십시오. 세입자의 현지 시간 시작.
다중 지역: 배수/재선택이있는 지역 당 일정 또는 "리드 지역 + 팔로워" 사본.


5) 대기열, 우선 순위, SLA

우선 순위 클래스: P0 (임계), P1, P2, P3; 개별 작업자 풀.

SLA/마감일: 'must _ star _ by', 'must _ finish _ by'; 건너 뛰기-에스컬레이션/리트레이

쿼터와 공정성: 작업/최소/테넌트 한도, "버스트" 토큰, 시끄러운 이웃 격리.
지연/가시성 타임 아웃.


6) 경쟁력과 막힘

임대: 자동 확장 작업 (하트 비트); 타임 아웃-취소.
Mutex/semaphores: 자원 당 (예: "가격 목록 x는 한 명의 작업자 만 씁니다").
샤딩: '테넌트/지역/해시 (키)'; 캐시 및 데이터 위치에 대한 스티커 라우팅.
지도자 선거: 한 지도자가 "시스템" 작업 (예: "모든 RTP 창을 닫음"), 팔로어-뜨거운 대기.


7) 신뢰성: Retrai, demempotency, 데드 업

이데올로기 키: '(task _ style, business _ id, 창)'; 반복 → 동일한 영수증.
Retrai: 지수 백오프 + 지터, 시도 한계, 오류 전략 (재 시도/취소/보상).
독 알약: N 고장 후 DLQ로 빠르게 이동하면 소유자에게 경고하십시오.
데드 업: TTL 창에서 보이는 캐시 (메모리 + KV).
정확히 한 번의 효과: 트랜잭션 로그/영수증을 통한 부작용 확인.


8) 길고 무거운 작업 관리

청킹: 배치로 분류, 체크 포인트/연속.

타임 복싱: CPU/IO/네트워크 탈출 제한; 진행 상황이 저장되면 중단하

사가/보상: 서비스 간 단계를위한 "실행 취소" 의미론.
동시성 한도: 유형/테넌트/지역당 동시 작업 제한.


9) 관찰 가능성 및 지표

추적: 'trace _ id', 사가 단계, 외부 통화.

메트릭 (SLI):
  • 시작하려면 걸으십시오 (길이, 연령 p95).
  • 성공률, 오류율, 재 시도 속도.
  • 대기 시간 p50/p95, 시간 완료.
  • 1k 작업 당 비용, 탈출/진입.
  • DLQ 비율, 독약 비율.
SLO (예):
  • P0 시작 성공 99 이상. 5%; DLQ 지정 0. 1%; 신선함은 30 초 p95입니다.

10) 감사와 확률

영수증: 시작/성공/오류에 대한 '영수증 _ 해시', 중요한 유형에 대한 DSSE 서명 (지불, 가격표, RTP).
WORM: 실행 로그 및 작업 표시를 저장합니다.
양육권: 일정을 전달/승인/변경 한 사람; SoD 점검.


11) 보안 및 액세스

RBAC/ABAC/ReBAC: 누가/승인/실행하는지; SoD: "결제를 만듭니다"

JIT 비밀: 작업자는 문제 범위에 대해 짧은 TTL로 토큰을 요청합니다.
격리: 임차인/지역/그리드 당 작업자 풀; 샌드 박스 실행.
PII 위생: 마스킹/토큰 화, 기본 로깅 금지.


12) FinOps 및 비용

컴퓨팅/스토리지/이탈에 대한 예산/캡 알림.
대기열과 SLO 별 자동 스케일 작업자.
스토리지 클래스: 핫 (7-30 일) → OLAP (6-24 개월) → 아카이브.
비용 인식 계획: "저렴한 시간" 에 출시 창, 출구 제한.


13) 데이터 모델 (단순화)

'일정' {id, 세입자, 지역, tz, cron(PHP 3 = 3.0.6, PHP 4)
'job' '{id, schedule _ id?, type, payroad _ hash, demempotency _ key, 우선 순위, _ by _ by, 시도, 상태, 영수증 _ hash}'
'lease' '{job _ id, worker _ id, arket _ at, ttl}'
'run _ log' '{job _ id, 시작 _ at, 완료 _ at, 결과, trace _ id, metrics {}, 영수증 []}'
(PHP 3 = 3.0.6, PHP 4)

14) API 계약 (관리/통합)

'POST/일정' - 일정 (크론/칼, 츠, 창) 을 만듭니다.

'POST/jobs' - 임시 배치; (PHP 3 = 3.0.6, PHP 4)

'GET/jobs/{ id}' - 상태/로그/영수증.
'POST/jobs/{ id }/cleant' -보상으로 취소하십시오.
'GET/대기열/통계' -길이, 지연, p95.
'JobStarted', 'JobSucdrop', 'Jobfailed', 'JobDroppedToDLQ', 'SLOViolated'.


15) 플레이 북 (일반적인 시나리오)

재시도 폭풍: 글로벌 백오프 가능, 의존성 시간 초과, 회로 차단기 가능, 분할 배치.
DLQ 눈사태: 수신 중지, DLQ 구문 분석 우선 순위 지정, 새 작업 버퍼.
리더는 무너졌다: 재선택, demempotency에 의한 "이중 출판물" 검증, 감사.
Hung 제공 업체 (PSP/KYC): 매장량으로의 경로, 폴링/웹 후크의 빈도 감소, 트랜잭션을 검역소로 이전.
유출 된 작업자의 비밀: 주요 해지, 교체, 30 일 만에 "비정상적인" 발사 검색, 권리 검토.


16) iGaming/fintech의 특성

지불/지불: 영수증이있는 비동기 작업, "회색" 거래의 검역, 중복 제거가있는 대기열의 재생.
RTP 창/한계: 달력 닫기, 관찰 된 이론적 RTP 대 표류 할 때 자동 일시 정지 프로모션.
가격 목록/FX/세금: 예정된 출판물, 아티팩트 버전, 캐시 포스 장애.
제휴: 전환 조정, 웹 후크, 행위/서명, 에스크로 분쟁.


17) 품질 지표 (샘플 세트)

일정 준수: 창에서 작업 비율이 99% 이상 시작되었습니다.

큐 래그 p95: P0 방향 60 c, P1 방향 5 분

성공/재시도/DLQ 속도: 5% / ≤ 0. 4% / ≤ 0. 1%.
Idempotency 오류: 자기 0. 01%.
예산 내 비용/1k 일자리 및 탈퇴/작업.
감사 완료: 영수증이 포함 된 100% 중요한 작업.


18) RACI

지역RAC나는
스케줄러 아키텍처플랫폼/SRECTO데이터, 보안제품
정책/SoD/캘린더준수/IAMCCO/CISO법률, Ops모두
관찰 가능성/SLOSREEng 책임자데이터, FinOps지원
경제/할당량FinOpsCFO/CTOSRE, 제품BU 리드
중요한 플레이 북IR 팀COO파트너, 법률감사

19) 구현 점검표

  • 작업 클래스, 우선 순위 및 SLA 강조; 달력 및 에스코트를 정의하십
  • 지도자 선출 및 파쇄를 가진 Scheduler/Dispatcher/Queue/Workers.
  • demotency, retrays, DLQ, 보상 (sagas) 을 소개합니다.
  • 근로자를위한 RBAC/ABAC/ReBAC, SoD 및 JIT 비밀 설정.
  • 추적/메트릭/로그, 대시 보드 및 경고 사용; SLO NLO 오류 예산.
  • 중요한 유형에 대한 서명 청구서 (DSSE) 및 WORM 로그.
  • 자동 스케일 및 캡 알림 (계산/저장/탈출).
  • 플레이 북: 재 시도-스톰, DLQ 눈사태, 리더 실패, 공급자 저하.
  • 테스트: 플레이 북 당 게임 데이, 지연/오류 주입.
  • 일정, 대기열 차단 및 자동화 ROI에 대한 정기적 인 검토.

20) FAQ

왜 크론이 충분하지 않습니까?
대기열이 없으면 dempotency, 잠금 및 감사가 충돌과 시간대에 따라 크론이 분해됩니다.

시간 기반과 이벤트 중심을 결합 할 수 있습니까?
예: cron-캐치 업 보험; 이벤트-반응성.

"정확히 한 번" 달성하는 방법?
주요 결제, 거래 효과 로그, 영수증 및 부작용.

"긴" 직업으로 무엇을해야합니까?
청크, 검문소, 타임 복싱, 중단 및 계속 기능.

예산을 "먹지 않는" 방법?
대기열과 SLO의 자동 스케일, 무거운 작업을위한 저렴한 시계, 하드 캡이 빠져 나옵니다.


요약: 스케줄러 및 배경 작업은 플랫폼의 생산 파이프 라인입니다. 일정 및 대기열, dempotence, 잠금 및 관찰 가능성을 포함하고 영수증/감사, 임차인 격리 및 FinOps 제어를 추가하면 모든 지역 및로드에서 예측 가능한 마감일, 빠른 복구 및 법적으로 일관된 운영이 가능합니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.