피드로 돌아가기
Dev.toBackend
원문 읽기
DHT Crawler 기반 실시간 시드 모니터링을 통한 Torrent 인덱싱 최적화
A torrent search engine,for actually active torrents!
AI 요약
Context
중앙 집중형 인덱싱의 Single Point of Failure 문제를 해결하기 위해 Mainline DHT 기반 분산 구조 채택. 기존 BTDigg 아키텍처는 데이터 삭제 없는 무분별한 인덱싱으로 인해 Dead Magnet Link 누적 및 DB 성능 저하라는 한계 노출.
Technical Solution
- Kademlia 알고리즘 기반 160-bit Node ID를 전략적으로 배치하여 DHT 네트워크 전역에 가상 클라이언트 침투
- UDP 기반 KRPC 프로토콜 리스닝을 통한 peer의 infohash 실시간 수집 구조 설계
- BEP-0009 표준에 따른 stateful TCP 연결 및 ut_metadata 추출로 파일 상세 정보 확보
- Active Seed Monitor 마이크로서비스를 통한 실시간 get_peers 요청 및 시드 생존 여부 지속 검증
- 일정 임계치 이하의 시드 보유 토렌트를 즉시 삭제하는 Aggressive Pruning 전략으로 DB Bloat 방지
- Manticore Search 및 Elasticsearch의 Inverted Index와 BM25 스코어링을 결합한 밀리초 단위 검색 구현
실천 포인트
1. 데이터 수집 단계에서 정적 아카이빙 대신 생존 주기 기반의 동적 업데이트 메커니즘 검토
2. 인덱스 크기 증가에 따른 성능 저하 방지를 위해 데이터 정제(Pruning) 임계치 설정 및 자동화 적용
3. 분산 네트워크 수집 시 Node ID의 수학적 분포를 이용한 데이터 커버리지 최적화 전략 활용