Une notification sur la mauvaise nd n'a atteint personne

FixEmailService
Shipped
7 septembre 2026 à 22:57 UTC
Author
Kamo
Commit
8471715

Le courtier ici est l'athlèteSimpleBroker - in-heap, per pod, pas de relais - et ceci Le déploiement fait deux répliques. MemberNotificationService publié directement dans ENDSend, donc une notification n'est parvenue au membre que si la dosette que si la dosette Il s'est produit pour servir la levée était aussi la gousse qui détenait leur WebSocket. Qui un c'était une décision d'équilibreur de charge, donc environ la moitié de chaque membre les notifications ont été publiées dans une salle vide. Rien à ce sujet n'a l'air d'une faute. La ligne est écrite, le tirage de la page revient proprement, la session STOMP est saine, et la prochaine page charge montre la notification assise au centre parce que l'historique de REST read le trouve. Le Seul un symptôme est un cloche qui semble être à laré réalité, et seulement parfois - qui est pourquoi cela a survécu: il n'est pas reproductible à la demande et il se corrige rafraîchissement. Le chemin de courrier dans ce même service a été fixé pour exactement cela et porte le avertisseurs: - explique qu'un relais se termine un converti en tasAndSend doit utiliser un consommateur EPHEMERAL, parce que chaque gousse a d'entendre chaque message et un message durable n'admet que le premier à s'engager. Le Le sujet de notification n'a tout simplement jamais reçu le même traitement. Les trames vont maintenant à l'adresse email.notify. Le propre service JetStream stream et publication() pins expectedStream et NotificationWebSocketRelay les met sur le sujet de chaque pod. NATS uniquement, jamais NATS plus un envoi local: cette gousse entend sa propre publication par l'intermédiaire de son propre relais. Le relais est son propre composant plutôt que quelques lignes dans EmailWebSocketCutteur parce que le cycle de vie NATS de ce contrôleur pend /app/email/subscribe, un MAILBOX abonnement. Un membre qui n'a jamais ouvert l'application de courrier ne l'enverra jamais, et n'ont rien reçu. Egalement: GROWTH-HUB n'était pas dans la carte des droits, et requiredRight() réponses nulles pour toute chose absente - donc c'était l'expédition non liée par omission, qui est exacte accident isDecided existe pour attraper. Il n'appartient à aucune application en ce qui concerne un droit. inquiet, et le dit maintenant.

All changes

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation