2016-04-14 3 views
2

Angenommen, ich habe 51 von MobileApp produzierte Nachrichten.Sicherstellen, dass nur wenige Nachrichten in einem bestimmten Nachrichtensatz bestellt werden

Ich möchte, dass 51. msg sollte den Anwendungsserver treffen, nachdem alle 50 verarbeitet werden. aber ich brauche keine Bestellung für andere 50 msgs. Sie können in beliebiger Reihenfolge treffen (Sollte parallel sein).

Derzeit verwende ich Kafka als Nachrichtenbroker.

große Einschränkung: - ich keine Callback-Mechanismus auf mobilen App 51th Nachricht setzen können nur zu geben, nachdem ich 50. Nachricht empfangen.

Irgendwelche Ideen um diese oder Verbindungen/Zeiger ??

Antwort

0

Wenn Sie (synchron mit den Commits) die 51 Nachrichten der Reihe nach senden und den Partitionierer verwenden können, um alle Nachrichten in einer Sequenz an dieselbe Partition zu senden (vielleicht indem Sie die Benutzer-ID des Schlüssels der Nachricht setzen), können Sie sicher lesen diese Nachrichten in der Reihenfolge.

+0

Ich möchte die ersten 50 Nachrichten sollten hohe Nebenläufigkeitsrate haben. 51. msg sollte immer die letzte sein. Ich denke, durch Ihren Ansatz werden alle 51 sequenzielle Reihenfolge haben –