从孤岛到服务拓扑:Netflix 为何构建实时服务地图
Netflix 开发了一种名为“服务拓扑”(Service Topology)的分布式基础设施“动态地图”,以帮助工程师理解服务依赖关系并排查问题。该地图旨在满足更快识别服务关联及故障期间潜在影响的需求,能够回答诸如哪些服务相互依赖、问题源头何在等关键问题。数据来自三个来源:eBPF 网络流、IPC 指标以及端到端追踪。每个数据源提供独特的视角——网络连接性、应用层细节以及实际请求流。这种多层架构将这些视图整合为统一的实时地图。系统为每个数据源使用独立的图数据库,以保持独立性并支持并行查询。工程师可以单独查看每个图,或将它们组合起来,以获得对服务交互的全面理解。系统从多个区域的 Kafka 中摄入流日志,进行处理,并将数据存储于图数据库中。这一动态地图帮助 Netflix 工程师快速诊断并解决问题,从而确保流畅的流媒体体验。