사일로에서 서비스 토폴로지로: 넷플릭스가 실시간 서비스 맵을 구축한 이유
Netflix는 엔지니어들이 서비스 종속성을 이해하고 문제를 해결하는 데 도움을 주기 위해 Service Topology라고 불리는 분산 인프라의 "살아있는 지도"를 개발했습니다. 이 지도는 서비스 관계와 장애 발생 시 잠재적 영향을 더 빠르게 식별해야 하는 필요성을 해결합니다. 이는 어떤 서비스가 서로에게 의존하는지, 그리고 문제의 근원을 파악하는 것과 같은 중요한 질문에 답합니다. 그들은 eBPF 네트워크 흐름, IPC 메트릭, 엔드투엔드 추적의 세 가지 소스에서 데이터를 수집했습니다. 각 데이터 소스는 고유한 관점을 제공합니다. 즉, 네트워크 연결성, 애플리케이션 수준의 세부 정보, 실제 요청 흐름입니다. 이 다층 아키텍처는 이러한 뷰를 통합된 실시간 지도로 결합합니다. 시스템은 각 데이터 소스에 대해 별도의 그래프 데이터베이스를 사용하여 독립성을 유지하고 병렬 쿼리를 가능하게 합니다. 엔지니어들은 각 그래프를 개별적으로 보거나 결합하여 서비스 상호 작용에 대한 포괄적인 이해를 얻을 수 있습니다. 시스템은 여러 지역의 Kafka에서 흐름 로그를 수집하고, 처리하고, 그래프 데이터베이스에 데이터를 저장합니다. 이 살아있는 지도는 Netflix 엔지니어들이 문제를 신속하게 진단하고 해결하여 원활한 스트리밍 경험을 보장하는 데 도움이 됩니다.