피드로 돌아가기
Dev.toDevOps
원문 읽기
Staging Layer 도입 및 Timezone 최적화로 콘텐츠 파이프라인 안정성 확보
... existing fields ...
AI 요약
Context
Flat directory 기반의 단순 API 전송 구조로 인해 API Rate Limit 발생 및 데이터 정합성 문제가 지속됨. UTC 기준의 GitHub Actions 스케줄링으로 인한 지역 시간대 불일치와 단일 워크플로우의 강한 결합도가 시스템 병목으로 작용함.
Technical Solution
- API 직접 전송 방식에서 Craft Docs를 Staging Layer로 활용하는 구조로 변경하여 파이프라인 취약성 제거
- monolithic publish 함수를 platform-agnostic document creator로 리팩토링하여 플랫폼별 확장성 확보
ContentBundledataclass에devto_en등 플랫폼별 필드를 추가하여 데이터 구조 정형화- 단일 워크플로우를 플랫폼별 개별
.yml파일로 분리하여 장애 격리(Fault Isolation) 구현 - GitHub Actions cron 설정에 지역 시간대(CDT UTC-6) 명시 및
settings.yml에 Timezone 설정으로 스케줄링 정확도 향상 - 네트워크 에러 격리를 위해
post_to_craft_api함수를 분리하여 Fail-fast 메커니즘 적용
실천 포인트
- 외부 API 전송 전 Staging Layer를 두어 수동 검토 단계 및 버퍼 확보 여부 검토 - 분산된 워크플로우 설계 시 플랫폼별로 독립적인 파이프라인을 구성하여 부분 장애가 전체 시스템으로 전이되는 것을 방지 - 글로벌 인프라 설정 시 UTC 기준 시간과 로컬 시간대 간의 매핑 관계를 코드 및 설정 파일에 명시적으로 기록