README sumup-adder--springified--drop-duplicates
authorKai Moritz <kai@juplo.de>
Sat, 17 Sep 2022 08:31:17 +0000 (10:31 +0200)
committerKai Moritz <kai@juplo.de>
Tue, 20 Sep 2022 16:11:57 +0000 (18:11 +0200)
* Geht nicht (effizient), weil: Damit keine Nachrichten verloren gehen,
  muss der Zustand _mindestens_ vor jedem `poll()` -- genauer: vor jedem
  Commit -- gesichert werden.
* Mögliche, aber nur mäßig effizient und/oder komplexe Lösungen:
** Mit AckMode.MANUAL könnten immer erst nach einem Speichern des Zustands
   die zugehörigen Nachrichten bestätigt werden.
** Dann wäre sichergestellt, dass die bestätigte Offset-Position nie
   weiter in der Zukunft liegt, als die bereits verarbeiteten und als
   neuer Zustand gesicherten Nachrichten.
** Eine weitere billige und extrem uneffiziente Möglichkeit wäre, den
   Zustand nach _jeder_ verarbeiten Nachricht zu speichern!
* *Vielleicht doch sinnvoll möglich*, aber nur mit bei Batch-Verarbeitung
* Dort könnte dann eingentlich wie in der Implementierung für Apache Kafka
  einfach nach jedem verarbeiteten Batch ein Commit durchgeführt werden.
* *Außerdem:* Wenn die Daten eh je Record einzeln in einer DB gespeichert
  werden, spricht nichts dagegen, mit jedem Datensatz auch den Offset zu
  speichern! (Es wird dann lediglich die Ermittlung des letzten Offsets
  ein bischen komplizierter...)


No differences found