Comment Netflix attribue avec ... Note

Comment Netflix attribue avec précision les journaux de flux eBPF

Netflix utilise eBPF pour capturer les journaux de flux TCP à grande échelle pour améliorer les informations réseau, mais attribuer avec précision les adresses IP de flux aux identités de charge de travail était un défi important. L'approche initiale d'attribution reposait sur Sonar, un service de suivi interne des adresses IP, mais elle a conduit à des erreurs d'attribution en raison de retards et d'échecs dans les systèmes distribués. Les erreurs d'attribution ont rendu les données de flux non fiables pour la prise de décision, et une solution de contournement consistant à conserver les flux reçus pendant 15 minutes avant l'attribution n'a pas éliminé le problème. Pour résoudre ce problème, Netflix a développé une nouvelle méthode d'attribution qui attribue les adresses IP locales en déterminant l'identité de la charge de travail locale à partir de son environnement. Pour les charges de travail en conteneur, Netflix a utilisé IPMan, un service d'attribution d'adresses IP de conteneur, pour attribuer les adresses IP locales. Une fois les adresses IP locales attribuées, les adresses IP distantes peuvent être attribuées en apprenant les plages de temps pendant lesquelles chaque charge de travail possède une adresse IP donnée. FlowCollector maintient une table de hachage en mémoire pour représenter ces connaissances et partage les plages de temps apprises avec d'autres nœuds à l'aide de Kafka. La nouvelle méthode atteint une attribution précise et gère les problèmes transitoires avec grâce, et elle est également rentable en raison de sa simplicité et de ses recherches en mémoire. La méthode est étendue pour attribuer les adresses IP inter-régionales en transférant les flux vers les nœuds de la région correspondante. Enfin, la méthode est encore étendue pour attribuer les adresses IP non liées aux charges de travail, telles que celles appartenant au réseau de diffusion de contenu de Netflix.
CdXz5zHNQW_ODQpwXb03K.png