2025-02-04-TIL
2025-02-04-TIL
Today I Learned
콘텐츠 전송 네트워크(Content Delivery Network, CDN)
CDN은 여러 지역에 흩어진 서버 묶음이다. 서버마다 같은 데이터의 복사본을 두고, 사용자의 요청을 그 사용자와 가장 가까운 서버가 처리한다. MDN은 지리적 거리가 지연 시간에 비례해 영향을 준다는 점을 CDN을 쓰는 이유로 든다. 원래 서버(오리진)가 받는 요청도 줄어서 트래픽이 몰릴 때 덜 흔들린다.
NetApp 글은 CDN이 동작하는 원리를 세 가지로 나눈다.
- 캐싱 : 정적 콘텐츠를 접속 지점(PoP, Point of Presence)의 엣지 서버에 저장해 두고, 다음 요청부터는 오리진까지 가지 않고 엣지에서 응답한다.
- 동적 가속 : 사용자마다 달라 캐싱하기 어려운 동적 콘텐츠는, 엣지 서버가 오리진과의 연결을 최적화해 응답 시간을 줄인다.
- 엣지 로직 : 엣지에서 간단한 계산을 처리한다.
트래픽을 여러 서버로 나누기 때문에 DDoS 같은 공격에서 단일 서버의 과부하를 줄이는 보안 효과도 있다. 정적 파일만 CDN에 맡기면 끝나는 것이 아니라, 무엇을 얼마나 오래 캐시할지와 배포 후 캐시를 어떻게 갱신할지를 같이 정해야 한다.
Airflow
Apache Airflow는 워크플로를 개발하고, 스케줄링하고, 모니터링하는 오픈소스 플랫폼이다. 시간 기반이나 이벤트로 트리거되는 배치 데이터 파이프라인이 대표적인 용도다. 워크플로를 Python 코드로 정의하는 “workflows as code” 방식이라, 파이프라인을 코드로 동적으로 생성하고 파라미터화할 수 있다.
워크플로 하나는 Dag(Directed Acyclic Graph, 방향이 있고 순환이 없는 그래프)로 표현한다. 작업(task)들과 그 사이의 의존 관계, 실행 일정 같은 워크플로 실행에 필요한 정보를 담는다. 웹 UI에서 Dag를 수동으로 실행하고 로그와 작업 상태를 볼 수 있다. 과거 데이터를 처리하도록 Dag 실행을 backfill하거나, 실패한 작업만 다시 실행할 수도 있다. 아래에 적은 글감 중 backfill과 재처리가 Airflow가 기본 기능으로 다루는 문제와 겹친다.
Today I Thought
실무에서 경험한 기술적인 주제들 중에서 글로 써보아야겠다고 생각이드는 주제를 생각해보자.
- 대용량 엑셀의 업로드/다운로드의 효율적인 처리방법
- 비동기 처리를 위한 아키텍처 (단일 서버, 두 개의 서버에서 이벤트를 메시지큐를 통해 처리 등)
- backfill
- 재처리
- graceful shutdown
- 로그
- 이력(DB)
- 인증
- 외부 API 연동
- API 설계
- API 문서화
AI 키워드: DeepSeek-R1
중국 DeepSeek가 1월 20일 추론 모델 DeepSeek-R1을 공개 가중치(open-weight)로 내놓았다. 논문은 사람이 단 추론 예시 없이 순수 강화학습만으로 LLM의 추론 능력을 끌어낼 수 있고, 그 과정에서 스스로 검토하고 검증하는 추론 패턴이 생겨났다고 설명한다. 이렇게 얻은 추론 패턴을 더 작은 모델에 옮겨 성능을 높일 수 있다고도 했다. 훨씬 적은 자원으로 학습했다는 점이 알려지면서, 1월 27일에는 DeepSeek 앱이 미국 iOS 무료 앱 순위에서 ChatGPT를 앞지르고 같은 날 Nvidia 주가가 17~18% 떨어졌다. 큰 컴퓨팅 자원이 있어야만 상위 모델을 만들 수 있다는 전제가 흔들렸다는 말이구나.
댓글
아직 댓글이 없습니다