Nous sommes attaqués par DDoS, mais nous ne faisons rien et nous contentons d'attaquer...

Récemment, une féroce bataille offensive et défensive s'est déroulée tranquillement dans le monde en ligne.

Le protagoniste n’est pas la National Security Agency ou une organisation de hackers, mais une startup peu connue – TablePlus .

Les attaquants DDoS sont impatients d’essayer. Ils ont afflué de toutes les directions, jurant de submerger les serveurs de TablePlus de centaines de millions de requêtes. Le trafic en provenance d’Allemagne et du Royaume-Uni, en particulier, ressemble à une inondation torrentielle qui s’étend sur des milliers de kilomètres. En seulement cinq jours, ils ont lancé plus de 80 millions de demandes de téléchargement dans le but d'épuiser la bande passante et les ressources informatiques de TablePlus.

Face à cette invasion massive, que doivent faire les amis de TablePlus ? Vont-ils paniquer et appeler Cloudflare à l’aide ? Seront-ils occupés à bloquer les adresses IP et à fermer les services ?

La réponse s’est avérée être : ne rien faire, manger et boire quand c’est nécessaire , comme si de rien n’était d’important. Si le CPU n'était pas passé occasionnellement de 0% à 1%, le serveur se serait soupçonné de souffrir d'un « trouble dissociatif de l'identité ». Les serveurs de TablePlus sont tous aguerris et ne prennent pas cette question insignifiante au sérieux.

D’où ces gars audacieux tirent-ils leur confiance ?

Ce calme vient du choix unique de TablePlus en matière de conception architecturale : une seule application. Contrairement à l'architecture de microservices actuellement populaire, TablePlus choisit de concentrer toutes les fonctions dans un seul service, y compris l'API, le front-end du site Web, le paiement, etc. Bien que cette architecture « unifiée » semble simple, elle présente des avantages qui ne peuvent être sous-estimés.

D'autres s'inquiètent des microservices, des conteneurs et de l'orchestration, mais TablePlus n'a besoin que d'un fichier binaire et est prêt à l'emploi.

Afin de maximiser les performances d'une seule application, TablePlus a déployé beaucoup d'efforts dans la sélection technologique. Ils ont choisi Golang et Rust, deux langages performants, comme principaux outils de développement . Grâce aux excellentes capacités de traitement simultané et aux mécanismes de gestion de la mémoire de ces deux langages, un seul service TablePlus peut facilement gérer des milliards de requêtes.

Mais disposer d'un excellent langage ne suffit pas. TablePlus vise également l'excellence dans tous les aspects de l'ingénierie logicielle, en s'efforçant de maximiser les performances des services individuels.

Ils indexeront les bases de données clés pour améliorer l'efficacité des requêtes ;

Stockage séparé de la base de données principale et des données non essentielles (telles que les journaux) pour garantir que l'activité principale ne soit pas affectée ;

Utilisez Nginx comme proxy inverse pour planifier et distribuer les requêtes de manière flexible ;

Améliorez encore les performances et la sécurité grâce à des fonctionnalités telles que CDN et SSL fournies par Cloudflare.

Des services uniques soigneusement conçus, associés à un environnement de déploiement optimisé, confèrent à TablePlus une architecture simple et efficace. Dans des scénarios à forte concurrence, cette architecture affiche des performances étonnantes, même face aux attaques DDoS.

Bien sûr, quelles que soient vos compétences, vous avez toujours peur des couteaux de cuisine . Quelle que soit la qualité du service, vous devez toujours savoir comment l'utiliser. En matière de déploiement, TablePlus recherche également la simplicité et l'efficacité. Ils profitent pleinement des fonctionnalités de Golang et Rust, compilent le service en un seul fichier binaire , puis l'exécutent directement sur le serveur Linux. Cette méthode de déploiement « sans dépendance » simplifie non seulement les travaux d'exploitation et de maintenance, mais maximise également les performances du serveur.

Les ingénieurs de TablePlus utilisent également Systemctl de Linux pour gérer les processus de service et mettre en œuvre des fonctions telles que le redémarrage et la surveillance automatiques, améliorant ainsi la fiabilité du système. Comparé à l'architecture complexe de centaines de microservices, le déploiement de TablePlus est extrêmement simple.

De cette manière, TablePlus a élevé les performances et l'efficacité du système à un nouveau niveau grâce à son architecture d'application unique soigneusement conçue et son déploiement minimaliste. Face aux attaques DDoS, ils ont réagi avec calme, démontrant ainsi la puissance de la conception architecturale.

Les conteneurs, les machines virtuelles et l'orchestration ne sont que des astuces fantaisistes devant TablePlus et ne valent pas la peine d'être mentionnés.

Avec l'application monobloc Zhenjing Protector, TablePlus reste serein face aux attaques DDoS. Des centaines de millions de requêtes arrivent, et les services système peuvent y résister ; quelle que soit l'intensité du trafic, Cloudflare peut y résister, même si les attaques s'intensifient, l'architecture monolithique tient toujours.

Cette histoire nous raconte que tout a ses deux faces. Une seule application peut paraître simple, mais elle peut aussi montrer sa puissance dans certains scénarios . La clé est de s'adapter aux conditions locales en fonction des caractéristiques de votre propre entreprise, d'exploiter vos forces et d'éviter les faiblesses, tout comme TablePlus, de vous connaître et de connaître l'ennemi, et vous ne serez jamais en danger.

A l'ère de « l'agilité » et de la « flexibilité », le fait de « se rendre seul à la réunion » de TablePlus est sans doute un peu tragique. Mais ils utilisent leurs actions réelles pour dire au monde : faites du bon travail en architecture, qu'il s'agisse d'une entité unique ou de microservices ; mettez l'accent sur les performances, et tout le reste n'est qu'un cloud .

Cette histoire nous rappelle également que la technologie n’est jamais noire ou blanche. Juger de la qualité d'une technologie ne peut être séparé des scénarios d'application spécifiques . Ce qui vous convient est le meilleur. Ce n’est qu’en gardant un esprit ouvert et innovant et en acceptant les changements que nous pourrons trouver notre propre position dans une vague technologique en constante évolution.

Les microservices sont certes tendance, mais les applications monolithiques ont aussi leurs propres raisons d’exister. La clé est de trouver le bon positionnement, d'utiliser les forces, d'éviter les faiblesses et de maximiser les avantages.

Tout comme TablePlus, alors que d'autres courent toujours après la mode, ils ont tranquillement atteint le sommet des performances. Ce genre de courage et de sagesse consistant à « aller à contre-courant » mérite d'être réfléchi et appris par chacun de nous.

Linus a pris sur lui d'empêcher les développeurs du noyau de remplacer les tabulations par des espaces. Son père est l'un des rares dirigeants capables d'écrire du code, son deuxième fils est directeur du département de technologie open source et son plus jeune fils est un noyau open source. contributeur. Robin Li : Le langage naturel deviendra un nouveau langage de programmation universel. Le modèle open source prendra de plus en plus de retard sur Huawei : il faudra 1 an pour migrer complètement 5 000 applications mobiles couramment utilisées vers Java, qui est le langage le plus enclin . vulnérabilités tierces. L'éditeur de texte riche Quill 2.0 a été publié avec des fonctionnalités, une fiabilité et des développeurs. L'expérience a été grandement améliorée. Bien que l'ouverture soit terminée, Meta Llama 3 a été officiellement publié. la source de Laoxiangji n'est pas le code, les raisons derrière cela sont très réconfortantes. Google a annoncé une restructuration à grande échelle.
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4148359/blog/11049955
conseillé
Classement