Product

Was gestern passiert ist und was wir dagegen tun

Ein Überblick über eine Versandverzögerung bei Mailgun im Jahr 2013. Weiterlesen...
Bild für Was gestern passiert ist und was wir dagegen tun

Bericht vom 19. September 2013.

Gestern war ein schlechter Tag für Mailgun-Kunden. Wir verzeichneten erhebliche Verzögerungen und Duplizierungen von E-Mails von etwa 20:40 Uhr UTC bis 04:40 Uhr UTC. Wir haben zwar keine Hinweise auf verlorene Nachrichten, aber die Verzögerungen beim Versand von E-Mails waren erheblich. Dies ist inakzeptabel. Deshalb möchten wir Ihnen einen Überblick darüber geben, was passiert ist und was wir tun, um zu verhindern, dass sich dies wiederholt.

Was ist passiert?

Um 20:40 Uhr UTC erhielten wir einen Anstieg an Nachrichten, der eine Reihe von kaskadierenden Fehlern in unserem System auslöste. Mailgun bewältigt diese Spitzen normalerweise problemlos, aber in diesem speziellen Fall löste dies einen Fehler in Mailgun aus, der unsere Riak-Cluster verlangsamte, indem er sie mit unnötigen Anfragen überlastete und übermäßig viel Speicherplatz verbrauchte. Als wir den Cluster stärker belasteten, löste dies die Garbage Collection auf den Knotenpunkten aus, was die Situation noch verschlimmerte. Riak überstand dies (danke an das Basho-Team für die Entwicklung robuster Software), aber es führte zu erheblichen Verzögerungen bei den Nachrichten. Um das akute Problem zu beheben, haben wir mehrere Prozesse neu gestartet, was in einigen Fällen dazu führte, dass doppelte Nachrichten versendet wurden.

Verzögerungen bei Nachrichten

Als die Gesamtleistung des Systems sank, wurden Nachrichten in die Warteschlange gestellt, aber nicht mit normaler Geschwindigkeit zugestellt. Wir haben den Fehler identifiziert und die Lösung implementiert, aber es hat eine Weile gedauert, bis die Cluster wieder ihren normalen Zustand erreicht hatten und die aufgestaute Warteschlange der Nachrichten abgearbeitet war.

Doppelte Nachrichten

Als sich unsere Zustellungsknoten verlangsamten, begannen unsere Monit-Skripte im Rahmen unseres Notfallwiederherstellungsverfahrens damit, Zustellungsknoten zu beenden und neu zu starten. Dieses unplanmäßige Herunterfahren und der Neustart führten bei einem kleinen Teil der Kundschaft zur Zustellung doppelter Nachrichten, da einige Nachrichten zwar gesendet, aber in unserem System nicht als zugestellt markiert wurden und nach dem Neustart des Prozesses erneut gesendet wurden.

Was tun wir dagegen?

Dieses Ausmaß an Leistungseinbußen ist für Mailgun inakzeptabel. Unsere Kundschaft vertraut darauf, dass wir ihre geschäftskritischen E-Mails zustellen, und wir haben sie enttäuscht. Als Folge dieses Ausfalls werden wir einige Änderungen vornehmen.

Widerstandsfähigere Architektur

Zunächst einmal haben wir den Fehler in unserem System identifiziert, der die Verlangsamung verursacht hat, und eine Lösung implementiert. Darüber hinaus sind wir dabei, unsere Kernprozesse für Speicherung und Routing neu zu strukturieren, damit sie fehlertoleranter sind und in solchen Situationen besser funktionieren.

Bessere Kommunikation bei Problemen

Dieses Ereignis hat deutlich gemacht, dass die Statusseite von Mailgun nicht immer den tatsächlichen Status von Mailgun widerspiegelt. Obwohl unsere API- und SMTP-Dienste gestern technisch gesehen „verfügbar“ waren, stellen erhebliche Verzögerungen bei E-Mails in der Praxis eine Beeinträchtigung des Dienstes dar, und wir sollten hierbei transparent sein. Infolgedessen haben wir unsere Statusseite bereits von Pingdom zu Statuspage.io verlagert, damit wir einen zentralen Ort für Warnungen bei Vorfällen bieten können. Sie werden Warnungen per SMS, Webhook, Twitter oder E-Mail abonnieren können, damit Sie sofort Bescheid wissen, sobald bei Mailgun Probleme auftreten. Langfristig werden wir Informationen über die Größe der Warteschlange von Mailgun und andere Metriken hinzufügen, die aussagekräftiger in Bezug auf die Leistung sind. Darüber hinaus werden wir im jeweiligen Mailgun-Control-Panel unserer Kundschaft weitere Details zur individuellen Größe der Warteschlange und zur Leistung hinzufügen.

Wiedergutmachung

Wir sind der Überzeugung, dass Mailgun immer verfügbar und leistungsstark sein sollte. Erhebliche Verzögerungen bei E-Mails erfüllen dieses Kriterium nicht. Wir bieten eine SLA an, und obwohl dies technisch gesehen nicht als Ausfall galt, möchten wir es wiedergutmachen, falls Ihr Unternehmen davon betroffen war. Senden Sie eine E-Mail an sla@mailgun.net, um einen angemessenen Credit als Entschädigung für dieses Problem zu besprechen.

Alles in allem war gestern ein schwieriger Tag für unsere Kundschaft und für uns. Wir bedauern dieses Problem sehr und sind entschlossen, alles in unserer Macht Stehende zu tun, um sicherzustellen, dass sich eine solche Situation nicht wiederholt.

Ihr Mailgun-Team