Wir werden von DDoS angegriffen, aber wir tun nichts und greifen einfach an ...

In der Online-Welt tobt in letzter Zeit im Stillen ein erbitterter Angriffs- und Verteidigungskampf.

Der Protagonist ist nicht die National Security Agency oder eine Hacker-Organisation, sondern ein wenig bekanntes Startup-Unternehmen – TablePlus .

DDoS-Angreifer wollen es unbedingt versuchen. Sie strömten aus allen Richtungen herbei und gelobten, die Server von TablePlus mit Hunderten Millionen Anfragen zu überfordern. Vor allem der Verkehr aus Deutschland und dem Vereinigten Königreich gleicht einer sintflutartigen Flut, die sich über Tausende von Kilometern ergießt. In nur fünf Tagen initiierten sie mehr als 80 Millionen Download-Anfragen, um die Bandbreite und Rechenressourcen von TablePlus auszuschöpfen.

Was sollten TablePlus-Freunde angesichts dieser massiven Invasion tun? Werden sie in Panik geraten und Cloudflare um Hilfe rufen? Werden sie damit beschäftigt sein, IPs zu blockieren und Dienste abzuschalten?

Die Antwort lautete: Nichts tun, essen und trinken, wenn nötig , als ob überhaupt nichts Wichtiges passiert wäre. Wenn die CPU nicht gelegentlich von 0 % auf 1 % gesprungen wäre, hätte der Server vermutet, dass er an einer „dissoziativen Identitätsstörung“ leidet. Die Server von TablePlus sind alle kampferprobt und sie nehmen diese triviale Angelegenheit nicht ernst.

Woher nehmen diese mutigen Kerle ihr Selbstvertrauen?

Diese Ruhe entsteht durch die einzigartige Wahl von TablePlus im architektonischen Design – eine einzige Anwendung. Anders als die derzeit beliebte Microservice-Architektur konzentriert sich TablePlus darauf, alle Funktionen in einem Service zu konzentrieren, einschließlich API, Website-Frontend, Zahlung usw. Obwohl diese „einheitliche“ Architektur einfach erscheint, bietet sie nicht zu unterschätzende Vorteile.

Andere kümmern sich um Microservices, Container und Orchestrierung, aber TablePlus benötigt nur eine Binärdatei und ist sofort einsatzbereit.

Um die Leistung einer einzelnen Anwendung zu maximieren, hat TablePlus viel Aufwand in die Technologieauswahl gesteckt. Als Hauptentwicklungstools wählten sie Golang und Rust, zwei Hochleistungssprachen . Mit den hervorragenden Fähigkeiten zur gleichzeitigen Verarbeitung und den Speicherverwaltungsmechanismen dieser beiden Sprachen kann ein einziger TablePlus-Dienst problemlos Milliarden von Anfragen verarbeiten.

Aber eine exzellente Sprache reicht nicht aus. TablePlus strebt auch nach Exzellenz in allen Aspekten der Softwareentwicklung und strebt danach, die Leistung einzelner Dienste zu maximieren.

Sie werden Schlüsseldatenbanken indizieren, um die Abfrageeffizienz zu verbessern.

Getrennte Speicherung von Kerndatenbank- und Nicht-Kerndaten (z. B. Protokollen), um sicherzustellen, dass das Hauptgeschäft nicht beeinträchtigt wird;

Verwenden Sie Nginx als Reverse-Proxy, um Anfragen flexibel zu planen und zu verteilen;

Verbessern Sie Leistung und Sicherheit weiter mit Funktionen wie CDN und SSL von Cloudflare.

Sorgfältig ausgearbeitete Einzeldienste, gepaart mit einer optimierten Bereitstellungsumgebung, verleihen TablePlus eine einfache und effiziente Architektur. In Szenarien mit hoher Parallelität zeigt diese Architektur eine erstaunliche Leistung, selbst angesichts von DDoS-Angriffen.

Natürlich haben Sie, egal wie gut Ihre Fähigkeiten sind, immer noch Angst vor Küchenmessern . Egal wie großartig der Service ist, Sie müssen immer noch herausfinden, wie Sie ihn nutzen. Auch bei der Bereitstellung strebt TablePlus nach Einfachheit und Effizienz. Sie nutzen die Funktionen von Golang und Rust voll aus, kompilieren den Dienst in einer einzigen Binärdatei und führen ihn dann direkt auf dem Linux-Server aus. Diese „abhängigkeitsfreie“ Bereitstellungsmethode vereinfacht nicht nur Betriebs- und Wartungsarbeiten, sondern maximiert auch die Serverleistung.

TablePlus-Ingenieure nutzen außerdem Systemctl von Linux, um Serviceprozesse zu verwalten und Funktionen wie automatischen Neustart und Überwachung zu implementieren, wodurch die Zuverlässigkeit des Systems weiter verbessert wird. Verglichen mit der komplexen Architektur von Hunderten von Microservices ist die Bereitstellung von TablePlus äußerst einfach.

Auf diese Weise hat TablePlus mit seiner sorgfältig konzipierten Einzelanwendungsarchitektur und minimalistischen Bereitstellung die Systemleistung und -effizienz auf ein neues Niveau gehoben. Angesichts von DDoS-Angriffen reagierten sie gelassen und demonstrierten damit die Leistungsfähigkeit architektonischer Gestaltung.

Container, VMs und Orchestrierung sind vor TablePlus alles nur ausgefallene Tricks und nicht der Erwähnung wert.

Mit der einteiligen Anwendung Zhenjing Protector bleibt TablePlus angesichts von DDoS-Angriffen gelassen. Es kommen Hunderte Millionen Anfragen, und die Systemdienste können dem standhalten; egal, wie stark der Datenverkehr ist, Cloudflare kann ihm standhalten, selbst wenn die Angriffe eskalieren; die monolithische Architektur bleibt bestehen.

Diese Geschichte erzählt uns, dass alles seine zwei Seiten hat. Eine einzelne Anwendung mag einfach erscheinen, kann aber auch in bestimmten Szenarien ihre Stärke zeigen . Der Schlüssel besteht darin, sich entsprechend den Besonderheiten Ihres eigenen Unternehmens an die örtlichen Gegebenheiten anzupassen, Ihre Stärken auszunutzen und Schwächen zu vermeiden, genau wie TablePlus, sich selbst und den Feind zu kennen, und Sie werden nie in Gefahr geraten.

In dieser Ära der „Agilität“ und „Flexibilität“ ist es zweifellos etwas tragisch, dass TablePlus „allein zum Meeting geht“. Aber sie nutzen ihre tatsächlichen Handlungen, um der Welt zu sagen: Machen Sie gute Arbeit in der Architektur, unabhängig davon, ob es sich um eine einzelne Einheit oder um Mikrodienste handelt, und legen Sie Wert auf Leistung, und alles andere ist nur eine Cloud .

Diese Geschichte erinnert uns auch daran, dass Technologie niemals schwarz und weiß ist. Die Beurteilung der Qualität einer Technologie lässt sich nicht von den konkreten Anwendungsszenarien trennen . Was zu Ihnen passt, ist das Beste. Nur wenn wir einen offenen und innovativen Geist bewahren und Veränderungen annehmen, können wir unsere eigene Position in der sich ständig verändernden technologischen Welle finden.

Microservices liegen sicherlich im Trend, aber auch monolithische Anwendungen haben ihre Daseinsberechtigung. Der Schlüssel liegt darin, die richtige Positionierung zu finden, Stärken zu nutzen und Schwächen zu vermeiden und Vorteile zu maximieren.

Genau wie TablePlus haben andere, während andere immer noch der Mode hinterherjagen, still und leise den Höhepunkt ihrer Leistung erreicht. Diese Art von Mut und Weisheit, „gegen den Trend zu gehen“, ist für jeden von uns es wert, darüber nachzudenken und zu lernen.

Linus hat es sich zur Aufgabe gemacht, zu verhindern, dass Kernel-Entwickler Tabulatoren durch Leerzeichen ersetzen. Sein Vater ist einer der wenigen Führungskräfte, die Code schreiben können, sein zweiter Sohn ist Direktor der Open-Source-Technologieabteilung und sein jüngster Sohn ist ein Open-Source-Core Mitwirkender : Natürliche Sprache wird immer weiter hinter Huawei zurückfallen: Es wird 1 Jahr dauern, bis 5.000 häufig verwendete mobile Anwendungen vollständig auf Hongmeng migriert sind Der Rich - Text-Editor Quill 2.0 wurde mit einer deutlich verbesserten Erfahrung von Ma Huateng und „ Meta Llama 3 “ veröffentlicht Quelle von Laoxiangji ist nicht der Code, die Gründe dafür sind sehr herzerwärmend. Google hat eine groß angelegte Umstrukturierung angekündigt
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4148359/blog/11049955
Empfohlen
Rangfolge