Dev News Daily ENDE

Amazon SNS hebt das Nachrichtenlimit auf 1 MiB — das Vierfache der bisherigen 256 KiB

AWS hat die maximale Nutzlast einer Amazon-SNS-Nachricht auf 1 MiB angehoben, das Vierfache der bisherigen 256 KiB, angekündigt am 18. September. Begründet wird es damit, dass Anwendungsintegration, IoT und generative KI zunehmend größere Datenmengen in einer einzelnen Nachricht austauschen.

Amazon SNS hebt das Nachrichtenlimit auf 1 MiB — das Vierfache der bisherigen 256 KiB
Amazon SNS hebt das Nachrichtenlimit auf 1 MiB — das Vierfache der bisherigen 256 KiB — Dev News Daily

Was das bedeutet

Jedes Team, das an 256 KiB gestoßen ist, hat denselben Umweg gebaut: Inhalt nach S3, Zeiger per Nachricht, und danach den Lebenszyklus des Objekts verwalten. Unterhalb eines Megabytes ist dieser Umweg jetzt optional — und optional ist das entscheidende Wort, denn er brachte Dinge mit, die das reine Limit nicht bringt: Deduplizierung über den Objektschlüssel, eine von der Queue unabhängige Aufbewahrung und einen Inhalt, den man im Nachhinein noch ansehen kann.

Drei Dinge vor der Freude:

  • Limits weiter hinten wandern nicht mit. Eine größere SNS-Nutzlast muss immer noch durch das passen, was sie konsumiert; die Fan-out-Ziele haben eigene Obergrenzen.
  • Kosten folgen Bytes. Ein vervierfachtes Limit ist eine Einladung, die Nutzlast zu vervierfachen, und abgerechnet wird, was gesendet wird.
  • Eine große Nachricht ist meist ein Designproblem. Nähert sich der Inhalt einem Megabyte, lautet die Frage oft, ob das Event überhaupt ein Dokument tragen sollte — oder nicht besser eine Kennung und eine Version.

Die Zahl, die sich nicht geändert hat

Eine größere Nachricht bleibt eine Nachricht, und die Teile des Systems, die auf 256 KiB ausgelegt waren, waren es aus einem Grund. Ein Fan-out an tausend Abonnenten bewegt tausend Kopien dessen, was veröffentlicht wird; eine vervierfachte Nutzlast vervierfacht die ausgehenden Bytes, die ankommenden Bytes bei jedem Konsumenten und den Speicher, den jeder Konsument beim Parsen hält.

Dazu kommt eine Grenze, an die niemand denkt, bis sie zuschlägt: Je größer die Nachricht, desto mehr Retry-Budget verbraucht eine einzige fehlgeschlagene Zustellung. Eine Queue, die eine 1-MiB-Nachricht zehnmal erneut zustellt, hat für ein Ereignis zehn Megabyte bewegt.

Eine Regel, die gut gealtert ist: das Kleinste in die Nachricht legen, mit dem der Konsument arbeiten kann — meist Kennung, Typ und Version — und den Rest bei Bedarf nachladen lassen. Dann ist das Event eine Aussage darüber, was passiert ist, und kein Transportmittel für ein Dokument; die Größenbegrenzung hört auf, eine Designvorgabe zu sein, um die man herumbauen muss.