Heim WeChat-Applet WeChat-Entwicklung Vermutung über das Implementierungsprinzip der roten Umschläge von WeChat

Vermutung über das Implementierungsprinzip der roten Umschläge von WeChat

Feb 10, 2017 pm 02:31 PM
原理 微信 红包

Der folgende Inhalt stammt aus dem Hintergrund der Chat-Aufzeichnungen einer Gruppe für Hochverfügbarkeitsarchitektur bei QCon: Ein Freund hat sich über die Architektur der roten WeChat-Umschläge beraten, und der folgende Diskussionsinhalt wurde aus den Erklärungen und Diskussionen von offiziellen oder abgeleitet In dieser Zeit gab es viele inoffizielle Klassenkameraden, die einen roten Umschlag erhielten, um den Algorithmus im aktuellen Netzwerk zu testen.

Der Prozess, sich rote Umschläge zu schnappen

Wenn jemand einen roten Umschlag an N Personen in der Gruppe mit einem Gesamtbetrag von M Yuan schickt, was passiert im Hintergrund? ist wie folgt:

1. Hintergrundvorgang zum Senden roter Umschläge:

Fügen Sie einen Datensatz für rote Umschläge in der Datenbank hinzu, speichern Sie ihn in CKV und legen Sie die Ablaufzeit fest >Im Cache (wahrscheinlich die interne KV-Datenbank von Tencent, basierend auf dem Speicher. Es wurde ein Kernel-Status-Netzwerkverarbeitungsmodul implementiert, um Dienste in Form eines Kernelmoduls bereitzustellen.) Fügen Sie einen Datensatz hinzu, um die Anzahl der Personen zu speichern, die greifen rote Umschläge N

2. Backstage-Vorgänge zum Erfassen roter Umschläge:

Erfassen roter Umschläge Es ist in Erfassen und Abreißen unterteilt. Der Ergreifungsvorgang wird auf der Cache-Ebene abgeschlossen wird durch eine atomare Subtraktionsoperation dekrementiert, bis es 0 erreicht. Dies bedeutet, dass sie alle ausgeraubt werden. Durch die Trennung der Vorgänge werden ungültige Anforderungen direkt außerhalb der Cache-Ebene blockiert. Die atomare Subtraktionsoperation ist hier keine atomare Subtraktionsoperation im eigentlichen Sinne, sondern Der von der Cache-Ebene bereitgestellte CAS versucht weiterhin, die Versionsnummern zu vergleichen. Es besteht ein gewisser Grad an Konflikten. Der in Konflikt stehende Benutzer wird freigegeben und kann mit dem nächsten Schritt der Demontage fortfahren. ​ Die Situation, wenn die Entwicklung abgeschlossen ist.

Das Öffnen der roten Umschläge wird in der Datenbank abgeschlossen. Die Anzahl und der erhaltene Betrag werden durch den Transaktionsvorgang der Datenbank akkumuliert und eine Forderung wird eingefügt. ​ Fließendes Wasser und Aufzeichnung sind asynchrone Vorgänge, was auch erklärt, warum rote Umschläge nach Erhalt während des Frühlingsfestes nicht in der Waage zu sehen sind. Der Betrag wird bei der Aufteilung in Echtzeit berechnet. Der Betrag ist eine Zufallszahl zwischen 1 Punkt und dem 2-fachen des verbleibenden Durchschnittsbetrags Ein roter Umschlag im Wert von M Yuan, der größte rote Umschlag ist M * 2 /N (und wird M nicht überschreiten), wenn der rote Umschlag geöffnet wird, werden der verbleibende Betrag und die verbleibende Anzahl aktualisiert. Tenpay bereitet sich auf 200.000 Transaktionen pro Sekunde vor, die tatsächliche Menge beträgt jedoch nur 80.000 pro Sekunde.

FAQ

Da beim Greifen Atome reduziert werden, sollte es dann nicht eine Situation geben, in der sie nach dem Greifen nicht zerlegt werden?

Die atomare Subtraktion ist hier keine atomare Operation im eigentlichen Sinne, sondern der von der Cache-Schicht bereitgestellte CAS, der ständig durch Vergleichen der Versionsnummern versucht wird.


Was soll ich tun, wenn der Cache und die Datenbank ausgefallen sind?

Primär und Backup + Abgleich


Gibt es einen roten Umschlag, der weg ist, aber der Restbetrag ist noch da?

Nein, das Programm verfügt über eine Take-All-Operation und eine asynchrone Abgleichsgarantie am Ende.


Warum Grabung und Abriss trennen?


Die allgemeine Idee besteht darin, mehrschichtige Filter einzurichten, diese Schicht für Schicht zu filtern und Durchfluss und Druck Schicht für Schicht zu reduzieren. Dieses Design war ursprünglich darauf zurückzuführen, dass der Greifvorgang die Geschäftsschicht und der Aufteilungsvorgang der Abrechnungsvorgang ist. Ein Vorgang ist zu schwer und die Unterbrechungsrate ist hoch. ​ Auf der Schnittstellenebene ist die erste Schnittstelle eine reine Cache-Operation und verfügt über starke Komprimierungsfunktionen. Ein einfacher Abfrage-Cache blockiert die meisten Benutzer und führt die erste Filterung durch, sodass die meisten Benutzer die Meldung sehen, dass der Inhalt ausverkauft ist.

Nachdem Sie sich den roten Umschlag geschnappt haben, verschicken Sie ihn oder heben Sie Bargeld ab. Gibt es hier eine Strategie?

Strategie zur vorrangigen Einzahlung großer Beträge


Gibt es Daten, die belegen, ob die Wahrscheinlichkeit jedes roten Umschlags gleich ist?

Es ist nicht absolut gleich, es ist nur ein einfacher Algorithmus zum Gehirnklopfen.


Gibt es mit dem Head-Patting-Algorithmus zwei beste?

Es wird die gleiche Menge geben, aber es gibt nur einen Glücklichen, derjenige, der es zuerst schnappt, ist der Beste.


Wird das Geld der Person, die den roten Umschlag gibt, eingefroren?

Es wird direkt in Echtzeit abgezogen, nicht eingefroren.


Was sind die Gründe für die Berechnung des Betrags in Echtzeit?

Die Echtzeiteffizienz ist höher, die Budgeteffizienz jedoch gering. Das Budget berücksichtigt auch zusätzlichen Speicherplatz. Da der rote Umschlag nur einen Datensatz belegt und nur wenige Tage gültig ist, benötigt er nicht viel Platz. Auch bei hohem Druck arbeitet die horizontale Expansionsmaschine.


Test 2: Experiment des Zhihu-Benutzers „Ma Jingchen“:


Hier finden Sie Beispieldaten für eine Umfrage mit 100 Stichproben. Geben Sie Ihre eigene Vermutung ab.

1. Das Wallet-Geld erfüllt die zensierte normale Zufallszahlenverteilung. Grob gesagt werden Zufallszahlen aus einer zensierten Normalverteilung entnommen und die summierte Zahl durch den Gesamtwert dividiert, um den Korrekturfaktor zu erhalten. Anschließend wird der Korrekturfaktor mit allen Zufallszahlen multipliziert, um den Wert der roten Hüllkurve zu erhalten.

Diese Verteilung bedeutet: Es gibt mehr rote Umschläge unter dem Durchschnitt, aber nicht weit vom Durchschnitt entfernt. Es gibt wenige rote Umschläge über dem Durchschnitt, aber es gibt mehr rote Umschläge, die viel größer als der Durchschnitt sind.

Vermutung über das Implementierungsprinzip der roten Umschläge von WeChatAbbildung 1. Wallet-Wert und sein Häufigkeitsverteilungshistogramm und seine Normalanpassung

Ein Blick auf das Verteilungshistogramm lässt jedoch nicht darauf schließen, dass es dem Normalwert entspricht Verteilung, aber angesichts der Einfachheit des Programms und der Rationalität der Zufallszahlen ist dies die vernünftigste Annahme.

2. Die späteren Wallets sind im Allgemeinen wertvoller

Vermutung über das Implementierungsprinzip der roten Umschläge von WeChatAbbildung 2. Die Beziehungskurve zwischen der Wallet-Seriennummer und ihrem Wert

Anhand der linearen roten Linie in Abbildung 2 können wir erkennen, dass der allgemeine Änderungstrend des Wallet-Werts langsam zunimmt und sein Änderungsbereich ungefähr einem „Kanal“ entspricht, der durch die Ober- und Untergrenze der grün gepunkteten Linie abgegrenzt wird . (Die Kurve kann in einen solchen regelmäßigen „Kanal“ eingeschlossen werden, was auch die Rationalität von Regel 1 von der Seite widerspiegelt und verdeutlicht, dass Zufallszahlen nicht gleichmäßig verteilt sind)

Aus einem anderen Durchschnitt lässt sich dieses Muster ebenfalls erkennen in der Abbildung.

Vermutung über das Implementierungsprinzip der roten Umschläge von WeChat


Abbildung 3. Die Änderungskurve der durchschnittlichen Zahl mit der laufenden Nummer

Im Beispiel eine Brieftasche im Wert von 1000 wurde in 100 Teile geteilt, der Mittelwert beträgt 10. In Abbildung 3 können wir jedoch sehen, dass der Durchschnitt vor der letzten Wallet unter 10 lag, was zeigt, dass der Wert der Wallet zu Beginn niedrig war und später durch den Wert der Wallet nach oben gezogen wurde Zeitraum. Der Wert ist höher.

3. Natürlich kann die Durchschnittsgrafik auch eine andere Regel offenbaren, nämlich dass die letzte Person oft das Glück hat, mehr zu zeichnen. Da die letzte Person alles bekommt, was noch in ihrem Portemonnaie ist, und der Durchschnitt aller davor weniger als 10 beträgt, ist es zumindest garantiert, dass die letzte Person höher als der Durchschnitt sein wird. In diesem Beispiel zog die Wallet Nummer 98 35, während die letzte Wallet 46 zog.

Vermutung über das Implementierungsprinzip der roten Umschläge von WeChat

Um es zusammenzufassen, basierend auf der Beispielschätzung:

Meistens ist das abgehobene Geld so gering wie bei anderen, aber einmal ist mehr, es wird viel einfacher.

2. Je weiter man das Portemonnaie auf der Rückseite herauszieht, desto einfacher ist es, Geld zu verdienen.

3. Der Letzte hat oft Glück.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ouyi Exchange App Inländische Download -Tutorial Ouyi Exchange App Inländische Download -Tutorial Mar 21, 2025 pm 05:42 PM

Dieser Artikel enthält einen detaillierten Leitfaden zum sicheren Download der Ouyi OKX -App in China. Aufgrund von Einschränkungen in den inländischen App -Stores wird den Benutzern empfohlen, die App über die offizielle Website von Ouyi OKX herunterzuladen oder den von der offiziellen Website bereitgestellten QR -Code zum Scannen und Herunterladen zu verwenden. Überprüfen Sie während des Download-Prozesses unbedingt die offizielle Website-Adresse, überprüfen Sie die Anwendungsberechtigungen, führen Sie nach der Installation einen Sicherheitsscan durch und aktivieren Sie die Zwei-Faktor-Überprüfung. Bleiben Sie während der Nutzung an lokale Gesetze und Vorschriften ein, verwenden Sie ein sicheres Netzwerkumfeld, schützen Sie die Sicherheit der Kontos, wachsam gegen Betrug und investieren rational. Dieser Artikel ist nur als Referenz und stellt keine Anlageberatung dar.

Der Unterschied zwischen H5- und Miniprogramm und Apps Der Unterschied zwischen H5- und Miniprogramm und Apps Apr 06, 2025 am 10:42 AM

H5. Der Hauptunterschied zwischen Mini -Programmen und App ist: Technische Architektur: H5 basiert auf Web -Technologie, und Mini -Programme und Apps sind unabhängige Anwendungen. Erfahrung und Funktionen: H5 ist leicht und einfach zu bedienen, mit begrenzten Funktionen; Mini -Programme sind leicht und haben eine gute Interaktivität. Apps sind leistungsstark und haben reibungslose Erfahrung. Kompatibilität: H5 ist plattformübergreifend, Applets und Apps werden von der Plattform eingeschränkt. Entwicklungskosten: H5 verfügt über niedrige Entwicklungskosten, mittlere Mini -Programme und die höchste App. Anwendbare Szenarien: H5 eignet sich für Informationsanzeigen, Applets eignen sich für leichte Anwendungen und Apps eignen sich für komplexe Funktionen.

Gateio Exchange App Old Version Gateio Exchange App Old Version Download Kanal Gateio Exchange App Old Version Gateio Exchange App Old Version Download Kanal Mar 04, 2025 pm 11:36 PM

Gateio Exchange-App-Kanäle für alte Versionen, die offizielle Anwendungsmärkte von Drittanbietern, Forum-Communities und andere Kanäle abdecken.

Was soll ich tun, wenn die Sicherheitssoftware des Unternehmens mit Anwendungen in Konflikt steht? Wie kann die Sicherheitssoftware von Far HUEEs beheben, dass eine gemeinsame Software nicht geöffnet wird? Was soll ich tun, wenn die Sicherheitssoftware des Unternehmens mit Anwendungen in Konflikt steht? Wie kann die Sicherheitssoftware von Far HUEEs beheben, dass eine gemeinsame Software nicht geöffnet wird? Apr 01, 2025 pm 10:48 PM

Kompatibilitätsprobleme und Fehlerbehebungsmethoden für Unternehmenssicherheit und Anwendung von Unternehmenssicherheit. Viele Unternehmen werden Sicherheitssoftware installieren, um die Sicherheit der Intranet zu gewährleisten. Sicherheitssoftware jedoch manchmal ...

So wählen Sie H5 und Applets So wählen Sie H5 und Applets Apr 06, 2025 am 10:51 AM

Die Auswahl von H5 und Applet hängt von den Anforderungen ab. Für Anwendungen mit plattformübergreifender, schneller Entwicklung und hoher Skalierbarkeit wählen Sie H5. Für Anwendungen mit nativen Erfahrung, umfangreichen Funktionen und Plattformabhängigkeiten wählen Sie Applets.

Was ist der Unterschied zwischen H5 -Seitenproduktion und Wechat -Applets Was ist der Unterschied zwischen H5 -Seitenproduktion und Wechat -Applets Apr 05, 2025 pm 11:51 PM

H5 ist flexibler und anpassbarer, erfordert jedoch qualifizierte Technologie. Mini -Programme werden schnell anfangen und leicht zu warten, sind jedoch durch das WeChat -Framework begrenzt.

Detailliertes Tutorial zum Kauf und Verkauf von Binance -virtuelle Währung in Binance Detailliertes Tutorial zum Kauf und Verkauf von Binance -virtuelle Währung in Binance Mar 18, 2025 pm 01:36 PM

Dieser Artikel enthält einen kurzen Leitfaden zum Kauf und Verkauf von Binance Virtual Currency, die im Jahr 2025 aktualisiert wurde, und erläutert ausführlich die Betriebsschritte von Transaktionen für virtuelle Währung auf der Binance -Plattform. Der Leitfaden deckt den Fiat -Währungskauf in Höhe von USDT, den Kauf anderer Währungen (z. B. BTC) und den Verkaufsgeschäft, einschließlich Markthandel und Grenzhandel, ab. Darüber hinaus erinnert der Leitfaden ausdrücklich die wichtigsten Risiken wie Zahlungssicherheit und Netzwerkauswahl für Fiat -Währungstransaktionen und hilft den Benutzern, Binance -Transaktionen sicher und effizient durchzuführen. In diesem Artikel können Sie die Fähigkeiten des Kaufs und Verkaufs virtueller Währungen auf der Binance -Plattform schnell beherrschen und Transaktionsrisiken reduzieren.

Der erste digitale Hominid im kulturellen und touristischen Doppelkern im Land! Tencent Cloud hilft Huaguoshan Scenic Area, die sich mit Deepseek verbindet, und macht den 'Salbei Monkey King' intelligenter und wärmer Der erste digitale Hominid im kulturellen und touristischen Doppelkern im Land! Tencent Cloud hilft Huaguoshan Scenic Area, die sich mit Deepseek verbindet, und macht den 'Salbei Monkey King' intelligenter und wärmer Mar 12, 2025 pm 12:57 PM

Lianyungang Huaguoshan Scenic Area schließt sich mit Tencent Cloud an, um den ersten "Dual -Core Brain" -Digital Homo Sapiens in der Kultur- und Tourismusbranche - Monkey King! Am 1. März verband der malerische Spot den Affenkönig offiziell mit der Deepseek -Plattform, so dass er die beiden KI -Modellfunktionen von Tencent Hunyuan und Deepseek verfügt und Touristen ein klügeres und rücksichtsvolleres Serviceerlebnis brachte. Huaguoshan Scenic Area hat zuvor den Affenkönig der digitalen Homo Sapiens auf der Grundlage des Tencent Hunyuan -Modells eingeführt. Dieses Mal nutzt Tencent Cloud Technologien wie die große Modell-Wissens-Engine weiter, um sie mit Deepseek zu verbinden, um ein "Dual-Core" -Er-Upgrade zu erzielen. Dies macht die interaktive Fähigkeit des Affenkönigs auf eine höhere Ebene, schnellere Reaktionsgeschwindigkeit, stärkere Verständnis und mehr Wärme. Monkey King verfügt über starke Funktionen für natürliche Sprachverarbeitung und kann verschiedene Möglichkeiten verstehen, Fragen von Touristen zu stellen.

See all articles