Как Netflix точно атрибутирует... Заметка

Как Netflix точно атрибутирует журналы потоков eBPF

Netflix использует eBPF для захвата журналов потоков TCP в крупном масштабе для улучшения сетевых сведений, но точная атрибуция IP-адресов потоков к идентификаторам рабочей нагрузки была значительной проблемой. Первоначальный подход к атрибуции основывался на Sonar, внутренней службе отслеживания IP-адресов, но он привел к неправильной атрибуции из-за задержек и сбоев в распределенных системах. Неправильная атрибуция сделала данные потоков ненадежными для принятия решений, а обходной путь, при котором полученные потоки сохранялись в течение 15 минут перед атрибуцией, не решил проблему. Чтобы решить эту проблему, Netflix разработал новый метод атрибуции, который атрибутирует локальные IP-адреса, определяя локальную идентификатор рабочей нагрузки из ее окружения. Для контейнерных рабочих нагрузок Netflix использовал IPMan, службу назначения IP-адресов контейнеров, для атрибуции локальных IP-адресов. Как только локальные IP-адреса атрибутируются, удаленные IP-адреса можно атрибутировать, изучая временные диапазоны, в течение которых каждая рабочая нагрузка владеет данным IP-адресом. FlowCollector поддерживает в памяти хэш-карту для представления этих знаний и делится изученными временными диапазонами с другими узлами с помощью Kafka. Новый метод обеспечивает точную атрибуцию и корректно обрабатывает временные проблемы, и он также экономически эффективен благодаря своей простоте и поиску в памяти. Метод расширен для атрибуции межрегиональных IP-адресов путем перенаправления потоков на узлы в соответствующем регионе. Наконец, метод еще больше расширен для атрибуции IP-адресов, не принадлежащих рабочим нагрузкам, таких как те, которые принадлежат сети доставки контента Netflix.
CdXz5zHNQW_ODQpwXb03K.png