Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“?

Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“? -

Mitte Januar 2020, weniger als eine Woche vor dem Frühlingsfest, war Stephen Liu, der Leiter der WeChat-Technologiearchitektur, sehr besorgt: Das bevorstehende Silvester ist die geschäftigste Zeit des Jahres für das WeChat-Geschäft und Hunderte von Millionen Benutzer werden in diesem Moment sein.Mit dem Versenden von Neujahrsgrüßen und roten WeChat-Umschlägen erleben WeChat-Server von Jahr zu Jahr einen größeren Einfluss.

Um sicherzustellen, dass alle wie geplant den Neujahrssegen erhalten und sich die roten WeChat-Umschläge schnappen können, wechselt das technische Team von WeChat am Ende jedes Jahres in den „Frühlingsfest-Garantie“-Modus, um Server-Stresstests durchzuführen, um sicherzustellen, dass WeChat nicht abstürzt die Kette.

Der kritischste Moment, sehr schwieriges Problem

Doch in der Testphase dieses Frühlingsfestes ging etwas schief.

Der rote WeChat-Umschlag, der 2014 geboren wurde, erlebte während des Frühlingsfestes in diesem Jahr eine größere Ausfallzeit, und einige Benutzer konnten den roten Umschlag irgendwann nicht erhalten und auch nicht die Menge des roten Umschlags sehen. Im folgenden Jahr gewann WeChat das Recht, mit Werbung für die Frühlingsfest-Gala zu interagieren. Am Silvesterabend dieses Jahres erreichte die Gesamtzahl der in China gesendeten und empfangenen roten WeChat-Pakete 1,01 Milliarden Mal, und die Gesamtzahl der WeChat-Shakes während der Frühlingsfestgala erreichte 11 Milliarden Mal. Dieses Jahr war WeChat gut vorbereitet und im Allgemeinen stabil, mit gelegentlichen kleinen Ausfallzeiten.

Daher ist es kein gutes Phänomen, vor dem Frühlingsfest Testprobleme zu haben.

Stephen Liu sagt:

Damals war der (Ziel-)Wert, den wir dem Stresstest unterziehen wollten, wahrscheinlich Milliarden von Nachrichten, die pro Minute gesendet wurden, aber das von uns gemessene Stressniveau war nur die Hälfte des Ziels, und es war nur zwei Wochen vor dem Frühlingsfest.

Der sogenannte Stresstest soll die Serverkapazität von WeChat online erweitern. Nachdem die Erweiterung abgeschlossen ist, führen Sie eine aggressive Simulation durch, um die Spitzendaten um 0:00 Uhr an Silvester zu simulieren, um zu sehen, wie viel dieses Jahr im Vergleich zum letzten Jahr ansteigen kann, und simulieren Sie dann diesen Betrag vollständig und wenden Sie ihn auf das System an.

Ein einfaches Verständnis ähnelt einer Website, die einen DDoS-Angriff auf sich selbst durchführt und testet, wie viele Personen gleichzeitig ohne Ausfallzeit auf die Website zugreifen können. Eine verbreitetere Auffassung ist, dass das Restaurant Kunden abholt: Die Plätze und Köche eines Restaurants können in der Nebensaison nur 100 Gäste gleichzeitig empfangen, in der Hauptsaison können es jedoch 300 Gäste sein, die essen müssen Zu dieser Zeit ist es notwendig, das Restaurant vorab zu erweitern, um Köche zu rekrutieren, ähnlich wie bei "Erweiterung", oder wenn es wirklich nicht funktioniert, Gäste draußen anstehen zu lassen.

WeChat kann jedoch keine Nachrichten per Warteschlange senden und empfangen.

Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“? - Wechat 25

Das Problem, auf das das technische Team von WeChat und Stephen Liu diesmal gestoßen sind, scheint das Restaurant deutlich erweitert und mehr Köche eingestellt zu haben, aber gleichzeitig können nur 150 Gäste empfangen werden, was das Ziel von 300 nicht erreicht hat, und zu diesem Zeitpunkt , die Köche sind noch ziemlich beschäftigt und die Plätze sind leer, es war auch sehr leer, und draußen standen immer noch Leute an.

Das technische Team von WeChat hat vor etwa ein oder zwei Wochen nachgeprüft und schließlich das Problem lokalisiert: Es gibt ein Problem mit der Leistung der Netzwerkkarte. Um ein weiteres Beispiel zu nennen: Es ist, als wäre die Rezeptionistin am Eingang des Restaurants faul und brachte die Gäste nicht in den Raum, was zu Unzufriedenheit im Restaurant und langen Schlangen von Kunden draußen führte.

Hinter dem Problem steckt eine große Veränderung, die WeChat unbekannt ist

Der Grund, warum es in den Vorjahren kein Problem mit dem Stresstest gab, dieses Jahr aber ein Problem mit dem Stresstest, liegt an einer großen Veränderung hinter WeChat: der selbst entwickelten Cloud.

Diese große Veränderung begann mit Tencents 930-Revolution im Jahr 2018. Am 30. September 2018 nahm Tencent erneut eine große Anpassung der Unternehmensstruktur vor: Die ursprünglich sieben Business Groups wurden neu organisiert und integriert, und die neu gegründete Cloud and Smart Industry Business Group (CSIG ), Plattform mit der Content Business Group (PCG). Unter ihnen verwirklicht CSIG die große Vision von Tencent ToB, während die WeChat Business Group (WXG) die meisten C-Endbenutzer verbindet.

Die Cloud stellt für Tencent bereits einen strategischen Dreh- und Angelpunkt des Geschäfts dar. Von diesem Zeitpunkt an ist die Eigenrecherche und Migration des eigenen Geschäfts in die Cloud zu einem wichtigen Thema für die Geschäftsanpassung geworden, während die Eigenrecherche und Migration des WeChat-Geschäfts in die Cloud das ist höchste Priorität.

Vor der Reform von Tencent 930 stellte Tencent keine einheitliche Cloud-Infrastruktur für sein internes selbst entwickeltes Geschäft bereit, sondern übernahm das Modell physischer Maschinenserver. Aus makroökonomischer Sicht kann die selbst entwickelte Cloud-Migration angesichts der enormen Anzahl von Benutzern und des Geschäftsvolumens von WeChat enorme Kosten- und Effizienzvorteile bringen, die sowohl für WeChat- als auch für Tencent Cloud-Unternehmen von Vorteil sind.

Aber mikroskopisch gesehen muss ein Unternehmen mit mehr als 1 Milliarde Benutzern eine so drastische Veränderung durchlaufen und den Benutzern das Gefühl geben, gleichgültig zu sein, als müssten die Räder eines Hochgeschwindigkeitsautos gewechselt werden, das Auto kann nicht anhalten und sogar die Räder kann nicht gestoßen werden.

Das Problem mit der vorherigen Druckprüfung trat während des Radwechselvorgangs auf.

Tatsächlich ist es tatsächlich an der Zeit, die Räder auszutauschen, sagte Stephen Liu:

2014 war WeChat nur eine Abteilung. Damals, als das Unternehmen eine solche Idee der Kostenoptimierung vorschlug, waren wir ziemlich nervös, weil es damals nicht viele Leute in der Abteilung gab, es war damals nur eine Abteilung, und es gab nur drei oder vierhundert Menschen damals. Vor 2014 widmete sich die gesamte Arbeitskraft von WeChat der funktionalen Iteration und dem ständigen Polieren neuer Funktionen, sodass weniger darauf geachtet wurde, wie der Backend-Server verwendet wurde, einschließlich der Qualität der Architektur.

Das Unternehmen hatte wieder diese Anforderung.Später ließ das Unternehmen sehen, wie es den einzelnen Geschäftsbereichen ging, und wählte schließlich sehr erfahrene Leute aus. Derjenige, der das Team damals leitete, war zum Beispiel auch der Vizepräsident des Unternehmens.Jedenfalls war ich sehr beeindruckt, weil ich viele Male von ihm bestätigt wurde. Es wird gesagt, dass die Kosten für WeChat sehr hoch sind und Ihr Server nicht gut genutzt wird.

Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“? - YARD 1

▲ WeChats vorheriger Bericht PPT

Diese Anforderung, Kosten zu senken und die Effizienz zu steigern, veranlasste das WeChat-Team, erstmals die Serverarchitektur zu optimieren und damals eine Systemarchitektur namens YARD einzuführen.

Diesmal muss die selbst entwickelte Cloud-Plattform jedoch mit Tencent konsistent sein, und die Open-Source-Systemarchitektur K8S wird übernommen.Im Vergleich zu YARD ist die K8S-Architektur offener und hat inhärente Vorteile bei der Anpassung an künstliche Intelligenz und Big Data Rahmen. Mittlerweile sind viele Funktionen von WeChat mit künstlicher Intelligenz und Big Data verbunden, wie z. B. Voice-to-Text und Textübersetzung.

Mit anderen Worten, WeChat hat 2014 die YARD-Architektur für einen sehr einfachen Zweck eingeführt, der dabei helfen sollte, Serverressourcen flexibel zu planen und Kosten zu sparen.Es wurde nicht an Komplexität und längere Laufzeit gedacht, und K8S war zu diesem Zeitpunkt noch nicht Open Source.

Mit fortschreitender Geschäftsentwicklung überwältigen die Vorteile der K8S-Architektur allmählich den Schmerz der Architekturmigration, die mit der Geschäftstransformation von Tencent zusammenfällt, und diese Änderung ist zwingend erforderlich.

Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“? - Wechat 62

Edsel Wang, ein WeChat-Infrastrukturingenieur, erklärte Aifaner die Makroschritte der WeChat-Eigenentwicklung und Cloud-Migration:

Für das WeChat-Team kann die Cloud-Migration in zwei Ebenen unterteilt werden: eng und breit. Im engeren Sinne ist der Wechsel in die Cloud die 930-Reform im Jahr 2018. Nach der 930-Reform des Unternehmens förderte das Unternehmen die Eigenforschung und Cloud-Migration, und dann begann WeChat, die vom Unternehmen bereitgestellte einheitliche Cloud-Infrastruktur zu nutzen. In die Cloud zu gehen bedeutet im weitesten Sinne, dass WeChat das gesamte F&E-Modell nach und nach Cloud-nativ gemacht hat, was nicht nur die Verlagerung einiger Back-End-Dienste von der ursprünglichen physischen Maschine in die Cloud beinhaltet, sondern natürlich auch die Integration des gesamten F&E-Prozesses mit der Cloud.

Nach der 930er-Reform im Jahr 2018 hat die Förderung der Eigenforschung und Cloud-Migration des Unternehmens bisher zwei Stufen durchlaufen. Die erste Phase ist von 2018 bis 2020. Das Unternehmen hat hauptsächlich die Art der Bereitstellung von Servern geändert, dh von der ursprünglichen Bereitstellung physischer Maschinen zu CVM (Cloud Virtual Machine, Cloud Virtual Machine). Die zweite Stufe beginnt ab 2020. Das Unternehmen fordert außerdem von jedem Fachbereich, einige interne Dispositionssysteme auf K8S umzustellen, für uns bedeutet dies, von YARD auf K8S zu migrieren. In der ersten Phase, von der ursprünglichen physischen Maschine bis zur Verwendung von CVM, besteht unsere Hauptarbeit darin, YARD an die Cloud anzupassen, da wir YARD als Planungsebene konzipiert haben, da YARD ursprünglich physische Maschinen unterstützte. Jetzt, da YARD virtuelle CVM unterstützt Maschinen, die Business-Schicht muss nicht viel ändern.

Im zweiten Schritt geht es für das WeChat-Team darum, K8S zu nutzen, also die selbst entwickelte YARD-Plattform durch die von Tencent Cloud bereitgestellten Scheduling-Fähigkeiten des K8S-Clusters zu ersetzen. Um diese Migration reibungsloser zu gestalten, haben wir drei Schritte im Prozess des Austauschs von YARD durch K8S geplant. Der erste Schritt besteht darin, das Problem zu lösen, ob WeChat auf K8S ausgeführt werden kann und ob das Programm darauf ausgeführt werden kann. Der zweite Schritt besteht darin, einen Teil der von YARD gesammelten Erfahrungen auf K8S zu übertragen, damit K8S an den ursprünglichen Fähigkeiten von YARD ausgerichtet werden kann und dann alle Fähigkeiten, die von dem ursprünglichen YARD bereitgestellt werden, genutzt werden können. Im dritten Schritt müssen wir die Fähigkeiten von K8S voll ausspielen, da wir die ersten beiden Schritte von YARD bereitgestellt haben.Im dritten Schritt müssen wir die Fähigkeiten von K8S voll ausschöpfen, was sich hauptsächlich in widerspiegelt Kosten und Effizienz.

Die ersten beiden Schritte haben wir vor 2020 abgeschlossen. Ab der zweiten Hälfte des Jahres 2020 haben wir begonnen, K8S in großem Umfang einzusetzen, und 2021 sind wir in den dritten Schritt eingetreten. Aus heutiger Sicht hat sich unsere Kosten- und Forschungseffizienz im Vergleich zum ursprünglichen YARD weiter verbessert. Aus der Cloud-Perspektive im weitesten Sinne hat das WeChat-Team auch ein wegweisendes Ereignis bei der Förderung der virtuellen CVM-Maschine vor sich, das heißt, das Speicherteam hat auch einen Durchbruch in der Cloud erzielt, weil WeChat schon immer das In-sich-selbst genutzt hat -entwickeltes Speichersystem haben wir in den letzten zehn Jahren viele verschiedene DB (Data Base, Datenbank) und KV (Key-Value, eine Art Datenbanksystem) erlebt und schließlich die Fähigkeit des Cloud-Speichers in der Version von infinityKV erkannt. In der zweiten Hälfte des Jahres 2020 wird infinityKV gestartet, und etwa 80 % der Daten im WeChat-Hintergrund werden im neuen System von infinityKV gespeichert.

Dies ist die von mir erwähnte WeChat-Cloud (Prozess), das heißt, es gibt mehrere Schritte (Prozess), um den Elefanten in den Kühlschrank zu bringen.

Edsel Wang führte weiter die allmählich aufkommenden Einschränkungen von YARD ein: 2014 war die Definition der Branche für Cloud-Plattformen nicht sehr klar, andererseits unterschied sich die Hardware-Umgebung von Tencent stark von der aktuellen Cloud-Hardware-Umgebung. YARD wurde zu dieser Zeit in dieser Hardwareumgebung entwickelt und entworfen, wodurch einige Kernfunktionen wie die Virtualisierung von Festplatten und Netzwerkkarten fehlten.

Das Stresstest-Problem, das während der WeChat-Eigenentwicklung und -Migration in die Cloud auftrat, lag anfangs in der Netzwerkkarte, weil Tencent Cloud damals ein neues Modell nutzte, CVM-Betriebssystem und -Hardware nicht gut angepasst.

Schließlich löste das WeChat-Team für technische Architektur vorübergehend das Problem, dass die CPU-Last gering war, die Leistung der Netzwerkkarte jedoch durch die Methode der Rettung des Landes durch eine Kurve gebremst wurde. Vereinfacht gesagt, wenn die ursprüngliche Server-CPU 180 Kerne hat und nach dem Slicing 90 Kerne mit 1 Netzwerkkarte bestückt sind, ist das Ergebnis, dass die Netzwerkkarte voll ausgelastet ist und die CPU-Last nur etwa 20% beträgt. Das technische Architekturteam von WeChat hat den CPU-Kern neu segmentiert und auf 48 CPU-Kerne geändert, die einer Netzwerkkarte entsprechen, sodass die CPU-Last mehr als die Hälfte beträgt und die Netzwerkkartenlast kein Engpass ist, während die Leistung voll ausgenutzt wird.

Dies ist eine Lösung für die Symptome, dies ist eine Lösung für die Symptome, und die Lösung für die Grundursache ist CVM, um den Netzwerkkarten-Scheduler zu optimieren. Die Optimierung des CVM-Netzwerkkarten-Schedulers und die Migration zu K8S ermöglicht es dem WeChat-Hintergrund, den Netzwerkverkehr effektiver zu steuern, wodurch die Flexibilität und Stabilität der WeChat-Hintergrundbereitstellung weiter verbessert wird.

Eine unbekannte große Veränderung hinter WeChat: Wie bringen sie „den Elefanten in den Kühlschrank“? - 0dac056529ff33d44386172d754b120e

Veränderung ist nicht beängstigend, beängstigend ist keine Veränderung

Im Jahr 2013 erlebte WeChat seinen längsten Ausfall. Weil ein Bagger das optische Kommunikationskabel brach, wurden die Geschäftsanfragen des East China Data Processing Center an Südchina und Nordchina gerichtet, was zu einer mehr als fünfstündigen Lähmung der WeChat-Dienste führte.

Seitdem, als die YARD-Architektur im folgenden Jahr eingeführt wurde, erfüllte WeChat eine wichtige Funktion: die Unterstützung der drei Campus. Das bedeutet, in jeder Stadt drei Computerräume (Parks) zu bauen.Das Netzwerk und die Stromversorgung der Computerräume sind unabhängig.Selbst wenn eine der Glasfasern abgeschnitten wird, gibt es zwei andere als Unterstützung.

Dies ist das gängige Konzept der „Redundanz“ bei Serverbereitstellungen heute.

Nach der Eigenentwicklung und dem Wechsel in die Cloud sind nun nicht nur die Server-Ressourcen virtualisiert, sondern die neue K8S-Architektur kann noch weiter gehen: Die Server-Ressourcen gehören dem gesamten Unternehmen Tencent. Das ist wie ein Darlehen: Früher hat WeChat bei kommunalen Zweigstellen geliehen, jetzt leiht es sich bei den Provinzhauptquartieren.

In der bisher 11-jährigen Geschichte von WeChat ändert sich auch die Definition von WeChat ständig. Moments, WeChat Red Envelopes, kleine Programme, Video Accounts und andere Node-basierte Funktionen erweitern die Definition von WeChat immer wieder: Es ist ein soziales Netzwerk, ein Payment-Tool und eine Content-Plattform.

Auch der Server-Support hinter WeChat sieht sich einem solchen sich ständig verändernden Prozess gegenüber.

Zuvor hatte der erste Schnee in Peking lokale Benutzer dazu veranlasst, verzweifelt Freunde zu schicken, was auch zu einem schlagartigen Anstieg der Servernachfrage führte.Zu diesem Zeitpunkt musste schnell reagiert werden, um die Kapazität zu erweitern.

Allerdings sind die Wetteränderungen und das Nutzerverhalten an einem bestimmten Ort unvorhersehbar, der kollektive Versand roter Umschläge um 0 Uhr am Frühlingsfest und an Silvester ist unvermeidlich, und es gibt viele ähnliche Unvermeidlichkeiten, zum Beispiel das Konzert von Jay Chou Die Videonummer wird live übertragen, und zig Millionen Zuschauer haben Recht. Es ist ein riesiger Test des WeChat-Servers, aber er kann im Voraus einem Stresstest unterzogen und bereitgestellt werden.

Bok Zhou, der Back-End-Entwicklungsingenieur des Videokontos, erinnerte sich an eine Live-Übertragung im September letzten Jahres und war immer noch begeistert.

Er sagte, dass das WeChat-Team dank der Vorteile nach dem Wechsel in die Cloud angesichts dieses unerwarteten Anstiegs des Datenverkehrs auch mehr Serverressourcen schneller starten kann, wodurch verhindert wird, dass einige Benutzer die Live-Übertragung nicht sehen können.

Auch die Selbsterforschung und Migration in die Cloud ist ein langfristiger und sich ständig verändernder Prozess und die Vorteile werden nach und nach entdeckt.Jetzt ist noch nicht das Ende dieses Prozesses, aber einige Vorteile und Visionen sind bereits absehbar.

Stephen Liu, Leiter der technischen Architektur von WeChat, sagte:

Ich habe vor mehr als einem Jahr einen Standpunkt mit dem Team geteilt und die 5 Stufen des autonomen Fahrens als Analogie genommen. Level 0 ist menschliches Fahren ohne jegliche Automatisierung. Level 1 hat etwas Fahrunterstützung, Level 2 ist stärkere Fahrunterstützung, Level 3 hat bereits ein gewisses Maß an automatischer Fahrfähigkeit, und dann gibt es noch Level 4 und Level 5.

Eine meiner Hoffnungen ist es, in Zukunft dasselbe automatische Fahren zu erreichen, das in Zukunft, wenn es das Frühlingsfest garantiert, komplett von Maschinen gefahren werden kann. Wir waren wahrscheinlich vor ein paar Jahren auf Level 0. Später, nach YARD, war es Level 1. Nachdem wir die verschiedenen Fähigkeiten von K8S im Laufe des Jahres 2021 erkundet haben, denke ich, dass wir uns jetzt in einem Level-2-Zustand befinden sollten. Ich hoffe, als nächstes Level 3 erreichen zu können, mit relativ vollständigen automatisierten Fahrfunktionen.

Im Plastikgewächshaus des Schicksals träumte einst jeder mit zu viel Pestiziden besprühte Kohl davon, ein schadstofffreies Bio-Gemüse zu werden.

#Willkommen beim offiziellen WeChat-Konto von Aifaner: Aifaner (WeChat: ifanr), weitere aufregende Inhalte werden Ihnen so bald wie möglich zur Verfügung gestellt.

Liebe Faner | Ursprünglicher Link · Kommentare anzeigen · Sina Weibo