Récemment, j'ai aidé quelques applications sociales à migrer à l'étranger, et la première chose que le client me dit toujours est : “Pouvez-vous faire en sorte que les utilisateurs d'Asie du Sud-Est arrêtent de jurer ? La deuxième phrase est : ”Nous avons encore été pénétrés la nuit dernière, y a-t-il quelque chose que nous puissions faire ?“
Ces jours-ci, pour faire des applications sociales, n'ont pas été DDoS écran de balayage sont gênés de dire qu'ils sont engagés dans l'Internet. Le mois dernier, une plateforme sociale audio-vidéo vient d'être lancée, trois jours de suite elle a subi trois fois plus de 500G d'attaques de trafic, les utilisateurs nord-américains sont entrés directement dans la carte PPT - le patron du parti A m'a téléphoné à 4 heures du matin : “Frère, plus d'argent peut être résolu ?”.”
L'accélération outre-mer et la défense élevée sont à l'origine une combinaison d'amour l'un pour l'autre. Si vous voulez une vitesse rapide, vous devez étendre le nœud jusqu'à la porte de l'utilisateur ; si vous voulez prévenir les attaques, vous devez vous concentrer sur le nettoyage de tout le trafic. Mais lorsque vous placez le trafic de l'utilisateur nord-américain autour de Tokyo pour le nettoyer, puis que vous le ramenez à Los Angeles, le délai est suffisant pour préparer une tasse de café - l'utilisateur a désinstallé l'application.
J'ai testé le “Global Intelligent Scheduling” vanté par une grande entreprise et, en conséquence, la demande de l'utilisateur australien a été transmise au nœud indien et la latence a grimpé à 380 ms. L“”optimisation dynamique du chemin" vantée par le document technique est en fait l'ordonnancement du coût le plus bas en fonction de la table de routage BGP. Le document technique vante l'"optimisation dynamique du chemin", qui est en fait l'ordonnancement du coût le plus bas selon la table de routage BGP, et n'a rien à voir avec l'expérience de l'utilisateur.
Une solution vraiment fiable doit répondre à trois questions simultanément : performance d'accélération, capacité de défense et contrôle des coûts. Sans l'un d'entre eux, tout cela n'est qu'une plaisanterie.
Commençons par l'accélération. Les caractéristiques du trafic des applications sociales sont trop évidentes : connexions en rafale, longues connexions, exigences de temps réel perverties. Le schéma de mise en cache HTTP pur ne peut tout simplement pas porter, il faut commencer par la couche de protocole.
La solution d'optimisation que nous avons mise en place pour une plateforme de diffusion en direct en Asie du Sud-Est a nécessité le déploiement du protocole QUIC sur les nœuds de périphérie. En Inde notamment, l'environnement réseau est comparable à celui des pays où se déroulent les loteries. La poignée de main 0-RTT du protocole QUIC est beaucoup plus fiable que la poignée de main TCP trois fois.
L'exemple de configuration n'est pas vraiment compliqué (bien sûr, d'autres paramètres doivent être réglés pour le déploiement réel) :
Mais ne croyez pas à l'absurdité du “QUIC peut accélérer”. J'en ai testé un qui prétendait être globalement accéléré, et les performances QUIC étaient pires que celles de TCP - il s'est avéré que la version de leur noyau était trop ancienne, et qu'ils ne s'étaient même pas adaptés à BBR.
Plus l'élément de défense. Les applications sociales sont les plus effrayées par les attaques CC, qui ressemblent à des requêtes normales mais qui n'aiment pas du tout l'interface. La connexion de l'utilisateur, la liste d'amis, le push de messages, ces API sont cassées en quelques minutes.
L'année dernière, j'ai aidé un logiciel de rencontre étranger à se protéger, et l'autre ingénieur a juré qu'il avait utilisé un “WAF intelligent”. En conséquence, j'ai pris un outil pour simuler le comportement normal d'un utilisateur et j'ai contourné leur base de règles en dix minutes - parce que leur mécanisme de défi JS n'avait pas été mis à jour depuis trois ans, et que les robots d'indexation étaient capables de l'identifier directement.
Aujourd'hui, une défense CC efficace doit être combinée à une analyse comportementale. Par exemple, la détection de la trajectoire de la souris, la fréquence des événements tactiles et même l'état d'alimentation de l'appareil (je n'ai vraiment pas vu de crawler mobile qui simule des changements d'alimentation).
Il s'agit de la règle de défi dynamique que nous utilisons actuellement sur la plateforme CDN07 :
Il est intéressant de noter que certaines sources d'attaque imitent désormais le comportement humain. Un bot capturé la semaine dernière balayait l'écran au hasard, mais ne parvenait pas à imiter l'inclinaison gyroscopique d'un téléphone - qui, dans son esprit, naviguerait sur une application sociale avec son téléphone en position verticale ?
La couverture des nœuds est le véritable test de la force des fournisseurs de CDN. De nombreux fournisseurs annoncent une “couverture mondiale”, mais en réalité, les nœuds d'Europe et des États-Unis s'empilent, tandis que l'Amérique latine et l'Afrique dépendent de deux nœuds pour leur prise en charge. Les utilisateurs sud-africains, en particulier, sont souvent acheminés vers l'Europe et reviennent ensuite.
Nous avons comparé les performances réelles des trois fabricants :
Les nœuds nord-américains de CDN5 sont très puissants, mais l'Asie du Sud-Est loue essentiellement de la bande passante à des fournisseurs locaux de second rang, et le taux de perte de paquets le soir peut atteindre 15%.
La couverture européenne de CDN07 est perversement dense, avec des pop points même dans les petits pays d'Europe de l'Est, mais les routes sud-américaines passent souvent par des tunnels bon marché avec trop de fluctuations de latence.
08Host est un acteur intéressant, spécialisé dans l'exploitation en profondeur des marchés émergents. En Indonésie, il a construit lui-même sa propre salle de serveurs, la pression de latence pour les utilisateurs de Jakarta est de 20 ms, mais le nœud nord-américain au lieu du nœud général.
La pratique la plus fiable est donc la planification mixte. Les ressources statiques vont au CDN5, le trafic API avec la protection CDN07, la vidéo en direct sur la ligne dédiée de 08Host - bien que la complexité de la gestion soit élevée, le coût peut être réduit de 30% ou plus, et la performance peut également être améliorée.
Une dernière remarque sur les pièges liés aux coûts. De nombreux vendeurs proposent une “protection illimitée” qui n'est qu'un jeu de mots. Un client a acheté un forfait anti-DDoS illimité, mais les résultats ont été brossés 700G a été dit que “au-delà de l'échelle de l'entreprise” - le contrat original caché dans le plafond invisible de 300G par jour.
Nos contrats l'exigent désormais explicitement :
- Le plafond de protection est-il basé sur le montant maximal ou sur le montant total ?
- si des nœuds de nettoyage sont déployés à proximité (sinon, il y a des pics de latence)
- La dimension statistique de la protection CC est-elle le nombre de demandes ou le nombre de connexions simultanées ?
- si les nœuds étrangers prennent en charge les certificats locaux (certains pays exigent un protocole SSL local pour l'atterrissage des données)
Pour être honnête, cette ligne de démarcation est trop profonde. Certains fournisseurs vendent des nœuds au Vietnam comme à Singapour (routage autour de Hong Kong), d'autres vendent un “routage intelligent” qui consiste en fait à trouver un nœud avec la latence la plus faible, indépendamment des capacités défensives. Récemment, j'ai également rencontré un cas étrange : un CDN du nœud japonais a été mis hors service, coupant automatiquement le trafic vers le nœud américain - les utilisateurs japonais subissent directement un retard de 400 ms, cette programmation intelligente pourrait tout aussi bien être renommée programmation retardée.
Une solution réellement efficace doit être adaptée à la forme de l'entreprise. Les applications sociales doivent faire la distinction entre les différents types d'entreprises :
Les utilisateurs empruntent des itinéraires à large bande passante pour le téléchargement de vidéos
Lignes à faible latence pour l'envoi de messages
Donner la priorité aux demandes d'amis pour assurer la stabilité
Enfin, une suggestion solide : ne croyez pas les données de démonstration du vendeur, effectuez vous-même des tests réels. Utilisez la plateforme mondiale de tests en nuage pour simuler le comportement des utilisateurs dans le monde entier et effectuez des tests pendant trois jours consécutifs aux heures de pointe du soir. Un jour, un fournisseur m'a montré que la latence de son nœud de Singapour était de 50 ms, mais le test réel a révélé que la mesure du retard par rapport à la salle des serveurs plutôt que par rapport à l'équipement de l'utilisateur - la latence moyenne de l'utilisateur réel par rapport au nœud est de 170 ms, le pic pouvant aller jusqu'à 300 ms.
Nous exigeons désormais des fournisseurs qu'ils ouvrent leurs interfaces de surveillance en temps réel et qu'ils écrivent leurs propres scripts pour compter l'expérience réelle de l'utilisateur partout. En Inde et au Brésil en particulier, où les réseaux sont complexes, il est important d'examiner les données relatives à la latence au 95e percentile plutôt que la moyenne.
Il n'existe pas de solution unique pour l'accélération outre-mer, mais seulement un processus d'optimisation continu. Récemment, nous avons expérimenté des solutions d'informatique périphérique, en plaçant une partie de la logique directement dans les nœuds CDN pour l'exécuter - par exemple, des opérations légères telles que l'envoi de messages, dans le nœud local pour retourner directement après le traitement, et même revenir à la source sont sauvegardées. Le délai d'interaction avec l'utilisateur canadien a été testé et est passé de 220 ms à 80 ms ; l'effet est beaucoup plus évident qu'une simple accélération.
En fin de compte, les solutions techniques sont destinées aux services aux entreprises. Une fois qu'un client a dû passer par le réseau anycast mondial le plus cher, il a découvert que les principaux utilisateurs en Asie du Sud-Est - en économisant le budget 80% avec des fournisseurs locaux, l'expérience est meilleure. La technologie est le domaine où il est le plus facile de tomber dans le piège de la “recherche de la perfection”, et parfois la solution la plus pratique est la plus rapide et la plus furieuse.
(Après avoir écrit et regardé le nombre de mots, il a en fait grimpé à 2500. Ce qui précède est purement une histoire de sang et de larmes réels, comme le même, que vous avez marché sur la fosse. Bienvenue dans l'échange de trolls entre pairs, mais ne me demandez pas le nom d'un client en particulier - pour faire face, il faut garder le secret).

