2016-05-16 10 views
1

Wir planen, Kafka als Nachrichtenbroker für IoT-Anwendungsfall zu verwenden, wo jedes Gerät als einzigartiges Thema betrachtet wird. wenn ich 10 Nachrichten pro Sekunde zu 10 tausend Themen simulieren zoekeeper bekommt Flaschenhals, alle Kafka Überwachungswerkzeuge kann die Durchsatzwerte und die Anzahl der Themen von JMX Port deshalb nicht lesen. Wird tuning zookeeper wird die Probleme lösen. Wo Im IoT-Anwendungsfall gibt es Millionen von Geräteabfragedaten für Millionen von Themen. Ich möchte sicherstellen, dass der Ansatz perfekt ist, um zu gehen. Bitte vorschlagen.Erhöhung der Anzahl der Themen in Kafka führt zoekeeper fehlschlagen

+0

Dies sollte möglich sein. Aber es ist schwer, eine allgemeine Antwort zu geben; Ihre Frage ist zu weit und komplex. Ich frage mich nur, warum Sie ein einziges Thema für jedes Gerät haben möchten - es könnte besser sein, verschiedene Partitionen innerhalb eines Themas zu verwenden ... –

+0

@ MatthiasJ.Sax Ich habe die Anforderung von nur einem Thema für mehr als ein Gerät . Ist das möglich oder sollte ich verschiedene Partitionen innerhalb eines Themas ausprobieren? Ich weiß nicht, wie ich das machen soll. – devd

+0

Die einfachste Möglichkeit besteht darin, ein Thema mit X-Partitionen zu erstellen und beim Schreiben von Daten in das Thema eine eindeutige Geräte-ID als Schlüssel festzulegen. Dies stellt automatisch über eine Hash-basierte Partitionierung sicher, dass alle Daten eines einzelnen Sensors in dieselbe Partition geschrieben werden. –

Antwort

0

Ihr Recht zu sagen, dass, obwohl theoretisch könnten Sie Millionen von Themen in Kakfa haben, die Anzahl der Themen in Kafka ist bound by Zookeeper, Sie können nicht Millionen von Themen haben. Das Erstellen von Themen/Partitionen pro Gerät ist keine skalierbare Lösung.

Gibt es einen Grund, warum Sie Millionen von Themen benötigen?