Häufig gestellte Fragen zu Event Streams

Dieses Dokument enthält Informationen zu häufigen Fragen oder Problemen, auf die Benutzer des IBM® Event Streams for IBM Cloud®-Dienstes stoßen. Ziel ist es, Fragen zu beantworten und Hilfestellungen zur Problemlösung zu geben, sodass sich ein Support-Ticket erübrigt.

Wie können mit Kafka-APIs Topics erstellt und gelöscht werden?

Wenn Sie einen Kafka-Client der Version 0.11 oder höher verwenden oder Kafka Streams Version 0.10.2.0 oder höher, können Sie APIs verwenden, um Topics zu erstellen oder zu löschen. Für die zulässigen Einstellungen beim Erstellen von Topics gelten bestimmte Einschränkungen. Gegenwärtig können Sie nur die folgenden Einstellungen ändern:

cleanup.policy

Wird auf delete(Standardwert), compactoder delete,compactgesetzt

retention.ms

Der Standardaufbewahrungszeitraum ist 24 Stunden. Der Mindestwert ist 1 Stunde und der Höchstwert ist 30 Tage. Geben Sie den Wert in Stunden an.

Hinweis: Im Enterprise-Plan können Sie diesen Wert auf einen beliebigen Wert setzen.

retention.bytes

Die maximale Größe, auf die eine Partition (die aus Protokollsegmenten besteht) anwachsen kann, bis alte Protokollsegmente gelöscht werden, um Speicherbereich freizugeben.

Hinweis: Enterprise: Legen Sie einen beliebigen Wert zwischen 100 KiB und 2 TiB fest. Standard: Legen Sie einen beliebigen Wert zwischen 100 KiB und 1 GiB fest.

segment.bytes

Die Segmentdateigröße für das Protokoll.

Hinweis: Enterprise: Legen Sie einen beliebigen Wert zwischen 100 KiB und 2 TiB fest. Standard: Legen Sie einen beliebigen Wert zwischen 100 KiB und 512 MiB fest.

segment.index.bytes

Die Größe des Index, der Offsets Dateipositionen zuordnet.

Hinweis: Unternehmen: Legen Sie einen beliebigen Wert zwischen 100 KiB und 1 TiB fest. Standard: Legen Sie einen beliebigen Wert zwischen 100 KiB und 100 MiB fest.

segment.ms

Der Zeitraum, nach dem Kafka das Blättern des Protokolls erzwingt, auch wenn das Segment nicht voll ist.

Hinweis: Legen Sie einen beliebigen Wert zwischen 5 Minuten und 30 Tagen fest.

Sehen Sie sich das folgende Beispiel für Standardwerteinstellungen an.

 Details for topic testit
Topic name   Internal?   Partition count   Replication factor   
testit       false       1                 3   

Partition details for topic testit
Partition ID   Leader   Replicas   In-sync   
0              1        [1 5 0]    [1 5 0]   

Configuration parameters for topic testit
Name                  Value   
cleanup.policy        delete   
min.insync.replicas   2   
segment.bytes         536870912   
retention.ms          86400000   
segment.ms            604800000   
retention.bytes       1073741824   
segment.index.bytes   10485760  

Welchen Zeitraum legt Event Streams für das Protokollspeicherungsfenster für das Consumer-Offsets-Topic fest?

Event Streams speichert Consumer-Offsets für einen Zeitraum von 7 Tagen. Dies entspricht der Kafka-Konfiguration 'offsets.retention.minutes'.

Die Offset-Aufbewahrungsdauer gilt systemweit und kann nicht für eine einzelne Topicebene festgelegt werden. Für alle Consumergruppen werden nur gespeicherte Offsets für einen Zeitraum von 7 Tagen bereitgestellt, selbst wenn die Protokollspeicherungsdauer für das zugehörige Topic auf den Maximalwert von 30 Tagen erhöht wurde.

Das interne Kafka-Topic __consumer_offsets ist für Sie im Plan "Enterprise" schreibgeschützt sichtbar. Es wird dringend empfohlen, keinen Versuch zu unternehmen, dieses Topic in irgendeiner Weise zu steuern. Im Plan "Standard" können Sie in keiner Weise auf das Topic __consumer_offsets zugreifen.

Wie kann eine Consumergruppe ohne Consumer bereinigt werden?

Nachdem die Consumer eine Gruppe verlassen haben, ist die Gruppe nur dann weiter vorhanden, wenn sie Offsets enthält. Consumer-Offsets werden nach 7 Tagen Inaktivität gelöscht. Eine Consumergruppe wird folglich gelöscht, nachdem der letzte festgeschriebene Offset für diese Gruppe abgelaufen ist.

Wenn Sie eine Gruppe zu einem bestimmten Zeitpunkt explizit löschen möchten, können Sie die deleteConsumerGroups()API oder den Befehl ibmcloud es group-delete verwenden.

Wie lange werden Nachrichten aufbewahrt?

In Kafka werden Nachrichten standardmäßig bis zu 24 Stunden aufbewahrt und jede Partition wird auf 1 GB begrenzt. Wenn die Obergrenze von 1 GB erreicht ist, werden die ältesten Nachrichten gelöscht, damit der Grenzwert eingehalten wird.

Die Aufbewahrungsdauer für Nachrichten können Sie beim Erstellen eines Topics in der Benutzerschnittstelle oder mit der Verwaltungs-API ändern. Das Zeitlimit muss im Bereich von 1 Stunde (Minimalwert) bis 30 Tage (Maximalwert) liegen.

Informationen zu Einschränkungen für die Einstellungen, die bei der Erstellung von Topics mit einem Kafka-Client oder Kafka Streams zulässig sind, finden Sie unter Wie können mit Kafka-APIs Topics erstellt und gelöscht werden?

Wie ist das Verfügbarkeitsverhalten von Event Streams?

Verwenden Sie diese Informationen beim Schreiben von Event Streams-Apps, um das normale Verfügbarkeitsverhalten von Event Streams und die damit verbundenen Anforderungen an das Ausführungsverhalten Ihrer Apps kennenzulernen.

APIs

Im regulären Betrieb von Event Streams werden die Knoten der Kafka-Cluster bei Bedarf erneut gestartet. In manchen Fällen werden Ihre Apps darauf vorbereitet, dass der Cluster Ressourcen neu zuordnet. Gestalten Sie Ihre Apps so, dass sie auf solche Änderungen entsprechend reagieren und Verbindungen wiederherstellen bzw. Operationen wiederholen können.

Was ist die maximale Nachrichtengröße von Event Streams?

Die maximale Nachrichtengröße von Event Streams ist 1 MB. Das ist der Kafka-Standardwert.

Was sind die Replikationseinstellungen für Event Streams?

Event Streams ist für eine starke Verfügbarkeit und Dauerhaftigkeit konfiguriert. Die folgenden Konfigurationseinstellungen gelten für alle Topics und können nicht geändert werden:

  • replication.factor = 3
  • min.insync.replicas = 2

Welche Einschränkungen und Standardeinstellungen gelten für Topics und Partitionen?

  • Themennamen dürfen maximal 200 Zeichen lang sein.
  • Die Standardanzahl von Partitionen für ein Topic ist '1'.
  • Für jeden IBM Cloud-Bereich gilt ein Grenzwert von 100 Partitionen. Für die Erstellung weiterer Partitionen müssen Sie einen neuen IBM Cloud-Bereich verwenden.

Wie kann ich den bereitgestellten Event Streams-Plan überprüfen?

Führen Sie die folgenden Schritte aus, um zu bestätigen, welchen Typ von Event Streams -Plan Sie bereitgestellt haben (Lite, Standard oder Enterprise):

  1. Navigieren Sie in der IBM Cloud-Konsole zu der Event Streams-Instanz, die Sie überprüfen wollen.
  2. Klicken Sie im linken Navigationsfenster auf die Registerkarte Plan. Ihr Plantyp wird im Abschnitt Aktueller Plan angezeigt.

Kann ich meinen Event Streams-Plan in der IBM Cloud-Konsole ändern?

Ja. Dort ist jedoch lediglich ein Umstieg vom Plan "Lite" auf den Plan "Standard" möglich.

  1. Navigieren Sie in der IBM Cloud-Konsole zur Instanz des Event Streams-Plans "Lite", die Sie ändern wollen.

  2. Klicken Sie im linken Navigationsfenster auf die Registerkarte Plan.

  3. Wählen Sie im Abschnitt Preisstrukturplan ändern das Kästchen Standard aus. Klicken Sie auf Upgrade durchführen.

    Lassen Sie einige Minuten verstreichen, bis der zwischengespeicherte Grenzwert von 1 Partition gelöscht ist und Sie von dem Grenzwert des Standardplans (100 Partitionen) profitieren können.

    Diese Option funktioniert gegenwärtig in der IBM Cloud-Konsole bei anderen Plankombinationen jedoch nicht. Wenn Sie beispielsweise eine andere Plankombination ausprobieren, wird eine Fehlermeldung wie die folgende angezeigt:

    Could not find VCAP::CloudController::ServicePlan with guid: ibm.eventstreams.standard
    

Worin bestehen die Unterschiede zwischen dem Event Streams-Plan "Standard" und dem Event Streams-Plan "Enterprise"?

Weitere Informationen zu den verschiedenen Event Streams-Plänen finden Sie in Plan auswählen.

Wie wird die Disaster-Recovery gehandhabt?

Derzeit liegt es in der Verantwortung des Benutzers, seine eigene Event Streams -Disaster-Recovery zu verwalten. Event Streams -Daten können zwischen einer Event Streams -Instanz an einem Standort (Region) und einer anderen Instanz an einem anderen Standort repliziert werden. Es ist jedoch Aufgabe des Benutzers, eine ferne Event Streams-Instanz bereitzustellen und die Replikation zu verwalten.

Zur Replikation von Daten zwischen Clustern empfiehlt sich die Verwendung eines Tools wie beispielsweise Kafka MirrorMaker. Informationen zum Ausführen von MirrorMaker finden Sie unter Event Streams kafka-mirrormaker-Repository. Ein Beispiel für den Wiederherstellungsprozess finden Sie unter Spiegelung in einem Disaster-Recovery-Szenario verwenden.

Darüber hinaus ist der Benutzer für die Erstellung von Sicherungskopien der Nachrichtennutzdaten verantwortlich. Diese Daten werden zwar auf mehrere Kafka-Broker innerhalb eines Clusters repliziert und damit vor den meisten Ausfällen geschützt, diese Replikation bietet jedoch keinen Schutz bei einem Ausfall, der den gesamten Standort betrifft. Es wird empfohlen, dass Benutzer die Themennamen und die Konfigurationsdaten für diese Themen sichern.

Falls Sie Ihre Event Streams-Instanz in einer Region mit mehreren Standorten konfiguriert haben, ist ein regionaler Notfall sehr unwahrscheinlich. Dennoch empfiehlt sich eine Planung für derartige Umstände. Wenn die Instanz eines Benutzers aufgrund eines Notfalls nicht mehr verfügbar ist (und noch keine ferne Disaster-Recovery-Instanz eingerichtet ist), kann es für den Benutzer sinnvoll sein, in einer neuen Region eine neue Instanz zu konfigurieren und seine Topics und Daten aus einer gegebenenfalls verfügbaren Sicherung wiederherzustellen. Anwendungen können dann auf die neue Instanz verwiesen werden.