Die letzten beiden langlebigen Verbraucher werden Warteschlangen, und Kontakt-Sync erreicht jede Hülse

FixEmailService
Verschifft
7. September 2026 um 22:37 UTC
Autor
Kamo
Ausschuss
67b2a62

Das Mail-Relais war eines von vier NATS-Abonnements auf einem einfachen langlebigen Verbraucher. Eine einfache langlebige gibt genau EIN Abonnent, so dass bei zwei Repliken die zweite ist mit [SUB-90012] abgelehnt und einfach nicht zuhört. Die restlichen drei: MessageIndexer gebunden auf einer Hülse; die andere vierzig mal ausgefragt und angemeldet "Push-Indizierung ist für diese Hülse deaktiviert". Indexierung funktionierte, durch Glück, und nichts hätte es übernommen, wenn diese Hülse war gestorben. SyncEventListener verlor ein Start-up-Rennen gegen die ausgehende pod während einer rollende Einsatz - und es hat überhaupt keinen Wiederaufnahmeversuch, also BEIDE Hülsen schließlich abgelehnt. Nichts verbraucht daemon.sync.complete; ein Kontakt-Sync würde enden und das Panel des Mitglieds saß auf "Synchronisieren" für immer, hinter einer ERROR-Linie beim Booten. Verifiziert auf dem Makler: der Verbraucher existiert, durch niemanden gebunden. Beide sind ARBEIT - Zeilen geschrieben, ein Suchindex aktualisiert, ein Telefon geweckt - so beide werden Warteschlange Verbraucher. Die Liefergruppe ist das, was macht eine langlebige in eine Warteschlange die Hülsen teilen, und was lässt einen Überlebenden die Arbeit abholen. Das Mitglied zu erzählen, ist das gegenteilige Problem. SyncEventListener ist jetzt eine Warteschlange, so genau eine Hülse behandelt das Ereignis, und es ist sehr unwahrscheinlich, dass die Hülse halten das Mitglied WebSocket - konvertierenAndSend's Broker ist in-heap. Von dort aus senden lieferte den Status an denjenigen, der zufällig mit der Gewinnerkapsel verbunden war und an niemanden sonst. Also berechnet der Gewinner den Status einmal und veröffentlicht ihn, und ein ephemeral Relais auf jeder Hülse verwandelt es in die eigenen Sitzungen dieser Hülse. Der Draht Format, das der Browser sieht, ist unverändert. Zwei Details, die es wert sind, beachtet zu werden: Der Sync-Konsumer ist RENAMED. Die alte existiert noch auf dem Strom als Ebene haltbare und einfach langlebige kann nicht als Warteschlange verbunden werden. NatsMessageService normalerweise repariert das, aber seine versöhnliche Blicke auf den eigenen Strom dieses Dienstes und daemon.sync.complete lebt auf DAEMON_SYNC, nicht EMAIL_NOTIFICATIONS . nichts und löscht nichts. Umbenennung ist es, was einen richtig geformten Verbraucher bekommt ohne eine Hand-Run-Säuberung auf dem Broker. Nichts ist verloren: DeliverPolicy.Neue Mittel ein frischer Verbraucher beginnt dort, wo der alte stand. Das neue Relais ist idempotent und wird immer wieder eingeholt, wenn ein Mitglied abonniert. Ein One-Shot @PostConstruct Treffen ein nicht verfügbarer Broker ist genau, wie SyncEventListener kam zu verbrauchen nichts, und realen Verkehr ist ein besserer Auslöser als ein Zeitplaner. Eine Torschalbe versagt nun im Build, wenn ein Abonnement in die Ebene zurückkehrt Form, da mit einer Replik die falsche Form verhält sich perfekt und nur eine Sekunde pod verrät es.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen