<aside>
🏗 IssueTracker 시스템의 아키텍처, 데이터 파이프라인, 패키지 구조를 정리합니다. 본문은 .claude/rules/01-architecture.md 가 source of truth — 이 페이지는 시각화 요약본입니다.
</aside>
아키텍처 레이어 (6-layer)
- API / Job Scheduler — 외부 진입, 스케줄링
- Crawler Orchestration — Kafka 기반 워커 풀, 파티셔닝, 회로 차단
- Source-Specific Crawlers — News / Community / Social (US, KR)
- Data Processing Pipeline — Normalize → Validate → Enrich
- Embedding & ML — multilingual embedding + HDBSCAN clustering
- Storage — PostgreSQL (메타) + Qdrant/pgvector (벡터) + Redis (캐시/락) + S3 (raw)
기술 스택
- Language: Go 1.22.2
- Messaging: Apache Kafka 3.5+ (topic-based pipeline, consumer groups per stage)
- Storage: PostgreSQL 15+ · Qdrant or pgvector · Redis 7+ · S3-compatible object store
- Observability: zerolog (structured) · Prometheus · OpenTelemetry · Grafana
- Testing: testify + table-driven · ≥70% coverage (critical paths 90%+)
디렉토리 구조 (top-level)
- cmd/ — entry points: api, processor, issuetracker, migrate, migrate-down, rldebug
- internal/ — locks, processor/{fetcher,parser,validate}, embedding (planned), storage
- pkg/ — logger, config, queue, redis (도메인 비종속 유틸)
- test/ — service 아키텍처 미러링 (test/internal/, test/pkg/)
- configs/ · scripts/ · deployments/ · docs/{en,ko}/ · .claude/rules/