20
Netflix Zuul

Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Netflix Zuul

Page 2: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Contexte

2

Page 3: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Le statut de Netflix

➢ 100 Millions d’abonnés

➢ Utilisable sur plus de 1000 appareils

➢ 50,000 requêtes par secondes

➢ Présent dans 190 pays

➢ 42,000 Millions d’heures de streaming en 2015

3

Page 4: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Gateway

4

Page 5: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Qu’est-ce qu’un Gateway ?

➢ Fait le lien entre Internet et les services dans le Cloud

➢ Essentiellement utilisé pour gérer un trafic

➢ Nécessaire au fonctionnement du service

➢ Faire des checks, des authentifications

➢ Faire un suivi de requêtes

➢ Favorise fluidité

➢ Peut servir de plateforme d’expérimentations

5

Page 6: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Zuul

6

Page 7: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Pourquoi Zuul ?

➢ Des technologies existent déjà: AWS, Nginx, Mashery, etc.

➢ Personnalisable aux besoins précis du service et de l’API

○ Load Balancing

○ Logique de routing dynamique

○ Vue interne

○ Ancré dans un écosystème de MicroService

○ Protection du service

○ Outil d’assurance qualité

7

Page 8: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Architecture Cloud de Netflix

Page 9: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Zuul

➢ Créé en 2012

➢ Langage Groovy

➢ Micro Service

➢ Système de filtres

9

Page 10: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Filtres

➢ Types

➢ Ordre d’exécution

➢ Critères

➢ Action

➢ Ne communiquent pas entre eux directement

➢ Partagent leur état

➢ Compilés dynamiquement

10

Page 11: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Fonctionnement et Utilités

11

Page 12: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Succès ?

➢ Facile à utiliser

➢ Résultats immédiats

➢ Adopté à grande échelle

➢ Clients heureux

➢ Business Logic

➢ Système moins élastique

➢ Clarté

12

Page 13: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Stratégie

➢ Routing créatif et dynamique

➢ Mise en forme du trafic

➢ Vitesse de réaction

➢ Vue interne

➢ Focus sur la livraison, éviter les erreurs

➢ Stress Testing

13

Page 14: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Routing créatif

➢ Différentes versions implémentées en même temps

14

Page 15: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Mise en forme du trafic

15

Page 16: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Load Balancing intelligent

Page 17: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Zuul 2.0

17

Page 18: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Zuul 2.0

➢ Pas encore accessible en Open Source

➢ Non Bloquant, Asynchrone

○ Pas de threads, moins gourmand lors des connexions

○ Plus complexe à débugger

➢ Connexions persistantes

➢ Tous types de requêtes (HTTP/2, Websocket, etc.)

18

Page 19: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Bilan

19

Page 20: Netflix Zuul - imag · Le statut de Netflix 100 Millions d’abonnés Utilisable sur plus de 1000 appareils 50,000 requêtes par secondes Présent dans 190 pays

Sources

➢ https://spring.io/blog/2016/12/01/springone-platform-2016-replay-netflix-s-edge-gateway-using-zuul

➢ https://github.com/Netflix/zuul

20