Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Universitéde Marne-la-Vallée 36/81 Laurent Wargon
Le cluster
● Commit à deux phases
Coordinator
R1 R2
Discuter l'argumentaire de la page suivante :http://blog.developpez.com/sqlpro/p10387/langage-sql-norme/le_mythe_du_commit_a_deux_phases
Universitéde Marne-la-Vallée 37/81 Laurent Wargon
Élasticité de la lecture
● M est une base Maître● E sont des bases Esclaves, en lecture seule
Universitéde Marne-la-Vallée 38/81 Laurent Wargon
Élasticité de la lecture
● M est une base Maître● E sont des bases Esclaves en lecture seule● Réplication en cascade
Universitéde Marne-la-Vallée 39/81 Laurent Wargon
Écriture d'un fichier de log
Universitéde Marne-la-Vallée 40/81 Laurent Wargon
Partitionnement des données
● Une entité partitionnée est gérée par un unique serveur
● Les entités liées sont sur le même serveur● Certaines entités de référence peuvent être
répliquées sur différents serveurs● Quelle logique de répartition ?
– Segmentation définie→ déconseillée– Arbitraire → table d'allocation (entité, serveur)
Universitéde Marne-la-Vallée 41/81 Laurent Wargon
Requêtes transverses
● Requêtes adressées en parallèle à tous les serveurs et consolider les réponses
● Création d'une base consolidée permanente(datawarehouse)– Ne concerne qu'une partie de
l'information– Gros volume / taux d'accès faible– Lieu naturel de la table d'allocation
Universitéde Marne-la-Vallée 42/81 Laurent Wargon
Partitionnement par user
● L'application neconnaît pas lepartitionnement
Universitéde Marne-la-Vallée 43/81 Laurent Wargon
Partitionnement par user
● L'application connaît lepartitionnement
Universitéde Marne-la-Vallée 44/81 Laurent Wargon
NoSQL
● Not only SQL● Lecture fréquente / écriture non fréquente ● Performance en lecture● Répartition de charge● Peu coûteux● Pas de propriétés ACID● BigTable (google), Dynamo (Amazon), Hbase
(Facebook), MongoDB (SourceForge), Redis
Universitéde Marne-la-Vallée 45/81 Laurent Wargon
Les caches
Universitéde Marne-la-Vallée 46/81 Laurent Wargon
Le cache
● Principes : recopier les données de la source dans une zone d'accès plus rapide : le cache
● Navigateur, proxy, reverse proxy, serveur cache● Compression des données● multiplier par 100 à 1 000 la capacité d'accueil● Deux modes
– Pull : le cache va chercher les données (passif)– Push : la source pousse les données (actif)
Universitéde Marne-la-Vallée 47/81 Laurent Wargon
Cache en mode pull
Universitéde Marne-la-Vallée 48/81 Laurent Wargon
Cache en mode pull
● time to live TTL : une durée de vie est attribuée aux données
● la durée de vie peut être :– illimitée– unique– spécifiée par le fournisseur
● fonctionnement Most Recently Used (MRU)● fonctionnement Most Frequently Used (MFU)
Universitéde Marne-la-Vallée 49/81 Laurent Wargon
Le cache HTTP
● Distribution HTTP → Accélération HTTP● la durée de vie est attribuée par
le producteur dans l'entête HTTP● pages statiques, css, javascript● images, pdf● formats d'images intermédiaires● zoom d'images● résultats de recherche● fragments de page
Universitéde Marne-la-Vallée 50/81 Laurent Wargon
Le cache HTTP par fragment
● Durée de vie attribuée au fragment
actualité rafraîchie tous les 1/4 d'heure
pied de page toutes les 24 heures● Norme Edge Side Incluce (ESI)
définie par un groupe d'entreprise (Akamai, Oracle, …) soumise au W3C
<esi:include src='HTTP://www.site.com/fragment01'/>
● agrégation coté client : iframes, javascript, Ajax,
Universitéde Marne-la-Vallée 51/81 Laurent Wargon
Le cache HTTP par fragment
Universitéde Marne-la-Vallée 52/81 Laurent Wargon
Cache en mode push
Universitéde Marne-la-Vallée 53/81 Laurent Wargon
Cache de données
● données en RAM– 1 million de membres– 50 Ko de données par membre
● Memcached– cache distribué, objet 1o à 1Mo– correspondance clé-valeur– utilisée par Facebook (2008)
800 serveurs, 28 To, 200 000 requêtes/s/serveur● Redis (GitHub, Groupon, Stack Overflow, ...)
50 Go RAM
Universitéde Marne-la-Vallée 54/81 Laurent Wargon
Les Content Delivery Network (CDN)
● Paris – Californie : + 45 msParis – Sidney : + 85 ms
● Amazon : 100 ms de temps de chargement supplémentaires → 1% de ventes en moins
● Poids moyen des pages d'accueil :
2000 : moins de 100 Ko
2012 : 1 à 4 Mo ● Page médiane en 2012 :77 requêtes et 6,5s
http://www.cdn-tech.com/IMG/pdf/cdn-tech-ecritel-livreblanc-2012.pdf
Universitéde Marne-la-Vallée 55/81 Laurent Wargon
Les Content Delivery Network (CDN)
● Fabriquer des nœuds où les contenus statiques sont répliqués au plus proche de l'internaute
Pour faire un CDN, il faut :
Serveurs d'origine
Nœuds où les contenus sont répliqués
Un mécanisme de routage
Universitéde Marne-la-Vallée 56/81 Laurent Wargon
Les Content Delivery Network (CDN)
Universitéde Marne-la-Vallée 57/81 Laurent Wargon
Les métriques des CDN
● Géographique → GeoDNS● Réseau → DNS Anycast● Calculée en temps réel →
utilisation de plusieurs CDN
Universitéde Marne-la-Vallée 58/81 Laurent Wargon
CDN : Métrique géographique GeoDNS
● Base de données géographiquedes adresses IP (produits de la société maxmind : GeoIP)
● Configuration particulière du DNS● Faible coût● http://phix.me/geodns/
Universitéde Marne-la-Vallée 59/81 Laurent Wargon
Adresse anycast (RFC 4786)
Adresse IP Unicast Adresse IP Anycast
Universitéde Marne-la-Vallée 60/81 Laurent Wargon
CDN : Métrique réseau
● Le DNS possède une adresse anycast et renvoie une adresse unicast d'un serveur HTTP proche.
● Le DNS possède une adresse [uni|any]cast et renvoie une adresse anycast de serveur HTTP qui répond par un redirect HTTP vers un serveur unicast proche.
http://vincent.bernat.im/fr/blog/2011-dns-anycast.html
Universitéde Marne-la-Vallée 61/81 Laurent Wargon
CDN : Métrique temps d'accès
Universitéde Marne-la-Vallée 62/81 Laurent Wargon
CDN : Métrique temps d'accès
● Base de données Cedexis : collecte de données(1,3 milliard de mesures / jour)
des éditeurs web livrent des pages qui contiennent des sondes pour faire des mesures sur les Cloud et CDN
● Utilisation de mesures temps réel (cdn-tech.com)
Universitéde Marne-la-Vallée 63/81 Laurent Wargon
CDN : Métrique temps d'accès
http://www.cedexis.com/fr/radar/methodology.html
1) Temps de connexion http = temps de résolution dns + temps de connexion tcp (petit objet)
2) Temps de réponse http = utilise la connexion tcp ouverte par la première mesure (petit objet)
3) Débit HTTP = utilise la connexion tcp déjà ouverte (gros objet)
Universitéde Marne-la-Vallée 64/81 Laurent Wargon
CDN : Métrique temps d'accès
l'url de la ressource est : cdn.mon_domaine.org
c'est un CNAME vers 789456.cedexis.com
Suivant les mesures collectées, ce nom de domaine sera :
soit un CNAME vers 132456.akamay.com ou
soit un CNAME vers 456963.cdn77.net
Le TTL est paramétrable (20s)https://andrecheung.wordpress.com/2013/06/17/cdn-load-balancing-by-cedexis-openmix/
Universitéde Marne-la-Vallée 65/81 Laurent Wargon
CDN : Métrique temps d'accès
● Netflix (30 % du trafic descendant aux US)
Utilisation de plusieurs CDN (Akamai, LimeLight et Level-3)
Changement de CDN si débit < 100Kbps● groupe de travail CDN Interconnexion (cdni)
de l'IETF → plusieurs RFC
Universitéde Marne-la-Vallée 66/81 Laurent Wargon
réseau pair-à-pair
● Chaque client est aussi un serveur● Fichiers, Flux (streaming), calcul réparti,
service (téléphonie, bureau distant …) …● Architectures pour l'annuaire
centralisées
décentralisées structurées : recherche logarithmique
décentralisées : recherche exponentielle
Universitéde Marne-la-Vallée 67/81 Laurent Wargon
réseau pair-à-pair
Universitéde Marne-la-Vallée 68/81 Laurent Wargon
WebRTC
● Web Real-Time Communication● Communications temps réel entre navigateurs : voix
sur IP, visioconférence, pair-à-pair● API javascript et HTML5● 58 % des navigateurs● projet porté par Google, Mozilla and Opera● Depuis 2011 : API (W3C), protocole (IETF)● www.opentokrtc.com
Universitéde Marne-la-Vallée 69/81 Laurent Wargon
CDN pair à pair
● PeerCDN (béta)● Réduction de bande passante● Javascript● Plus de visiteurs → plus d'hébergeur● Utilisation de WebRTC● Fonctionne avec les autres CDN● Sécurisé, Fiable
Universitéde Marne-la-Vallée 70/81 Laurent Wargon
Des exemples d'architecture
Universitéde Marne-la-Vallée 71/81 Laurent Wargon
Une configuration CDN
Plateforme HTTP : serveur PXE, syslog, déploiement, monitoring, ...
Distribution HTTP (Source) : nginx
Accélération HTTP (Edge) : cartes 10Gbps, disques SSD, XFS, RAID0, nginx, syslog distant et centralisé (réduction des I/O locales et gestion des statistiques)
http://francois.aichelbaum.com/creer-un-caching-http-facon-cdn/
Universitéde Marne-la-Vallée 72/81 Laurent Wargon
Une configuration CDN
http://francois.aichelbaum.com/creer-un-caching-http-facon-cdn/
User
Edge
Source
LoadBalencer
Edge
Edge
Edge
Source
Origin
Origin
Universitéde Marne-la-Vallée 73/81 Laurent Wargon
Architecture type Facebook
Universitéde Marne-la-Vallée 74/81 Laurent Wargon
Sport 24
● CMS eZ Publish● contexte de session en base de données →
pas d'affinité de serveurs● media conservé en base de données● agrégation coté client avec du javascript● match en temps réel sont rechargés par
javascript sans recharger la page● coté serveur SSI Server Side Include d'Apache
Universitéde Marne-la-Vallée 75/81 Laurent Wargon
Sport 24
● cache squid en frontal (2 000 pages/seconde)● génération de pages statiques :
– création des articles dans le back-office– script de génération des pages statiques– diffusion vers les frontaux NFS ou RSync
Universitéde Marne-la-Vallée 76/81 Laurent Wargon
Sport 24
Universitéde Marne-la-Vallée 77/81 Laurent Wargon
Sport 24
Universitéde Marne-la-Vallée 78/81 Laurent Wargon
01 Informatique
Universitéde Marne-la-Vallée 79/81 Laurent Wargon
Source
● Wikipedia● Livre Blanc
Plateformes web Hautes PerformancesPrincipes d'architecture et outils open sourceSociété Smile
Universitéde Marne-la-Vallée 80/81 Laurent Wargon
Des questions ?
Universitéde Marne-la-Vallée 81/81 Laurent Wargon
Montée en charge
Hits par minutes
11h 12h 13h 14h12 septembre 2012
500K
0K
Peak Traffic – Approximately 90K concurrent visitorsPublication de l'annonce de l'iphone5 sur le blog gdgt
59 Web Server5 load balencers
Proposer unearchitecture