View a markdown version of this page

Benutzerdefinierte MSK Express-Brokerkonfigurationen (Zugriff) Read/Write - Amazon Managed Streaming für Apache Kafka

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzerdefinierte MSK Express-Brokerkonfigurationen (Zugriff) Read/Write

Sie können read/write Broker-Konfigurationen entweder mithilfe der Funktion „Konfiguration aktualisieren“ von Amazon MSK oder mithilfe der API von Apache Kafka aktualisieren. AlterConfig Apache Kafka-Broker-Konfigurationen sind entweder statisch oder dynamisch. Statische Konfigurationen erfordern einen Broker-Neustart, damit die Konfiguration angewendet wird, während dynamische Konfigurationen keinen Broker-Neustart benötigen. Weitere Informationen zu Konfigurationseigenschaften und Aktualisierungsmodi finden Sie unter Brokerkonfigurationen aktualisieren.

Statische Konfigurationen auf MSK Express-Brokern

Sie können Amazon MSK verwenden, um eine benutzerdefinierte MSK-Konfigurationsdatei zu erstellen, um die folgenden statischen Eigenschaften festzulegen. Amazon MSK legt alle anderen Eigenschaften fest und verwaltet sie, die Sie nicht festlegen. Sie können statische Konfigurationsdateien über die MSK-Konsole oder mithilfe des Konfigurationsbefehls erstellen und aktualisieren.

Property (Eigenschaft) Description (Beschreibung) Standardwert

allow.everyone.if.no.acl.found

Wenn Sie diese Eigenschaft auf false setzen möchten, stellen Sie zunächst sicher, dass Sie Apache Kafka-ACLs für Ihren Cluster definieren. Wenn Sie diese Eigenschaft auf false setzen und nicht zuerst Apache Kafka-ACLs definieren, verlieren Sie den Zugriff auf den Cluster. In diesem Fall können Sie die Konfiguration erneut aktualisieren und diese Eigenschaft auf true setzen, um wieder auf den Cluster zuzugreifen.

true

auto.create.topics.enable

Aktiviert die automatische Erstellung eines Themas auf dem Server.

false

compression.type

Geben Sie den endgültigen Komprimierungstyp für ein bestimmtes Thema an. Diese Konfiguration akzeptiert die Standard-Komprimierungscodecs: gzip, snappy, lz4, zstd.

Diese Konfiguration akzeptiert zusätzlichuncompressed, was gleichbedeutend mit keiner Komprimierung ist; und das bedeutet, dass der ursprüngliche Komprimierungscodec beibehalten wirdproducer, der vom Hersteller eingestellt wurde.

Apache Kafka Standard

connections.max.idle.ms

Timeout bei inaktiven Verbindungen in Millisekunden. Die Threads des Server-Socket-Prozessors schließen die Verbindungen, die länger als den von Ihnen für diese Eigenschaft festgelegten Wert inaktiv sind.

Apache Kafka Standard

custom.advertised.listeners

Konfiguriert benutzerdefinierte Domainnamen für clientseitige Listener in Ihrem Amazon MSK-Cluster. Amazon MSK wendet die Konfiguration automatisch auf jeden Broker an, einschließlich neuer Broker, die bei der Skalierung oder Ersetzung hinzugefügt wurden. Funktioniert sowohl ZooKeeper auf KraFT-Clustern. Beispiel für ein Format:LISTENER_NAME://b-{broker_id}.kafka.mycompany.com:9000+{broker_id}.

Die erlaubten Listener-Namen sind CLIENTCLIENT_SECURE,CLIENT_SECURE_PUBLIC,CLIENT_SASL_SCRAM, CLIENT_SASL_SCRAM_PUBLICCLIENT_IAM, undCLIENT_IAM_PUBLIC.

Weitere Informationen finden Sie unter Konfigurieren Sie benutzerdefinierte Domainnamen für Ihren Amazon MSK-Cluster.

Keine (deaktiviert)

delete.topic.enable

Aktiviert den Vorgang zum Löschen von Themen. Wenn Sie diese Einstellung deaktivieren, können Sie ein Thema nicht über das Admin-Tool löschen.

Apache Kafka Standard

group.initial.rebalance.delay.ms

Die Zeit, die der Gruppenkoordinator darauf wartet, dass mehr Verbraucher einer neuen Gruppe beitreten, bevor der erste Neuausgleich durchgeführt wird. Eine längere Verzögerung bedeutet potenziell wenigere Neuausgleiche, erhöht aber die Zeit bis zum Beginn der Verarbeitung.

Apache Kafka Standard

group.max.session.timeout.ms

Maximales Sitzungs-Timeout für registrierte Konsumenten. Längere Timeouts verschaffen Verbrauchern mehr Zeit für die Verarbeitung von Nachrichten zwischen Heartbeats, sie führen aber auch zu einer längeren Fehlererkennungszeit.

Apache Kafka Standard

leader.imbalance.per.broker.percentage

Das Verhältnis des zulässigen Führungsungleichgewichts pro Broker. Der Controller löst einen Führungsausgleich aus, wenn er diesen Wert pro Broker übersteigt. Dieser Wert wird in Prozent angegeben.

Apache Kafka Standard

log.cleanup.policy Die Standard-Bereinigungsrichtlinie für Segmente außerhalb des Aufbewahrungsfensters. Eine durch Kommata getrennte Liste gültiger Richtlinien. Gültige Richtlinien sind delete und compact. Für Cluster mit aktiviertem Tiered Storage gilt nur eine gültige Richtlinie. delete Apache Kafka Standard
log.message.timestamp.after.max.ms

Die zulässige Zeitstempeldifferenz zwischen dem Nachrichtenzeitstempel und dem Zeitstempel des Brokers. Der Zeitstempel der Nachricht kann später als oder gleich dem Zeitstempel des Brokers sein, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird.

Wennlog.message.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennlog.message.timestamp.type=LogAppendTime.

86400000 (24 * 60 * 60 * 1000 ms, das heißt, 1 Tag)
log.message.timestamp.before.max.ms

Die zulässige Zeitstempeldifferenz zwischen dem Zeitstempel des Brokers und dem Zeitstempel der Nachricht. Der Zeitstempel der Nachricht kann vor oder mit dem Zeitstempel des Brokers übereinstimmen, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird.

Wennlog.message.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennlog.message.timestamp.type=LogAppendTime.

86400000 (24 * 60 * 60 * 1000 ms, das heißt, 1 Tag)
log.message.timestamp.type Gibt an, wenn der Zeitstempel in der Nachricht die Erstellungszeit der Nachricht oder die Anfügezeit des Protokolls widerspiegelt. Die zulässigen Werte sind CreateTime und LogAppendTime. Apache Kafka Standard
log.retention.bytes Maximale Größe des Protokolls vor dem Löschen. Apache Kafka Standard
log.retention.ms Anzahl der Millisekunden, um eine Protokolldatei aufzubewahren, bevor sie gelöscht wird. Apache Kafka Standard
max.connections.per.ip Die maximale Anzahl von Verbindungen, die von jeder IP-Adresse aus zulässig sind. Dies kann auf festgelegt werden, 0 wenn mithilfe der max.connections.per.ip.overrides Eigenschaft Überschreibungen konfiguriert wurden. Neue Verbindungen von der IP-Adresse werden unterbrochen, wenn das Limit erreicht wird. Apache Kafka Standard

max.incremental.fetch.session.cache.slots

Maximale Anzahl inkrementeller Abrufsitzungen, die beibehalten werden.

Apache Kafka Standard

message.max.bytes

Die größte von Kafka unterstützte Protokoll-Batch-Größe. Wenn Sie diesen Wert erhöhen und Verbraucher älter als 0.10.2 vorhanden sind, müssen Sie auch die Abrufgröße der Verbraucher erhöhen, damit sie diese großen Datensatz-Batch abrufen können.

In der neuesten Nachrichtenformat-Version werden Datensätze aus gründen der Effizienz immer in Batches gruppiert. In früheren Nachrichtenformat-Versionen werden nicht komprimierte Datensätze nicht in Batches gruppiert und diese Beschränkung gilt in diesem Fall nur für einen einzelnen Datensatz. Sie können diesen Wert pro Thema mit der max.message.bytes Konfiguration auf Themenebene festlegen.

Apache Kafka Standard

num.partitions

Standardanzahl von Partitionen pro Thema.

1

offsets.retention.minutes

Nachdem eine Konsumentengruppe alle Konsumenten verliert (d. h. sie ist dann leer), werden die Offsets für diesen Aufbewahrungszeitraum aufbewahrt, bevor sie verworfen werden. Bei eigenständigen Benutzern (d. h. solchen, die die manuelle Zuweisung verwenden) laufen Offsets nach dem Zeitpunkt des letzten Commits zuzüglich dieser Aufbewahrungsfrist ab.

Apache Kafka Standard

replica.fetch.max.bytes

Anzahl der Bytes von Nachrichten, die für jede Partition abgerufen werden sollen. Es handelt sich nicht um ein absolutes Maximum. Wenn der erste Datensatz-Batch in der ersten nicht leeren Partition des Abrufs größer ist als dieser Wert, wird der Datensatz-Batch zurückgegeben, damit Fortschritte gemacht werden können. Die Eigenschaften message.max.bytes (Broker-Konfiguration) oder max.message.bytes (Themenkonfiguration) geben die maximale vom Broker akzeptierte Datensatz-Batch-Größe an.

Apache Kafka Standard

replica.selector.class

Der vollständig qualifizierte Klassenname, der implementiert wird. ReplicaSelector Der Broker verwendet diesen Wert, um das bevorzugte Lesereplikat zu finden. Wenn Sie Benutzern das Abrufen aus dem nächstgelegenen Replikat ermöglichen möchten, setzen Sie diese Eigenschaft auf. org.apache.kafka.common.replica.RackAwareReplicaSelector

Apache Kafka Standard

socket.receive.buffer.bytes

Der SO_RCVBUF-Puffer der Socket-Server-Sockets. Wenn der Wert -1 ist, wird der Standardwert des Betriebssystems verwendet.

102400

socket.request.max.bytes

Maximale Anzahl von Bytes in einer Socket-Anforderung.

104857600

socket.send.buffer.bytes

Der SO_SNDBUF-Puffer der Socket-Server-Sockets. Wenn der Wert -1 ist, wird der Standardwert des Betriebssystems verwendet.

102400

transaction.max.timeout.ms

Maximales Timeout für Transaktionen. Wenn die angeforderte Transaktionszeit eines Kunden diesen Wert überschreitet, gibt der Broker einen Fehler in InitProducerIdRequest zurück. So wird ein zu großer Timeout auf Client-Seite verhindert, der Verbraucher am Lesen aus Themen, die in der Transaktion vorhanden sind, hindern könnte.

Apache Kafka Standard

transactional.id.expiration.ms

Die Zeit in Millisekunden, in der der Transaktionskoordinator auf Aktualisierungen des Transaktionsstatus für die aktuelle Transaktion wartet, bevor der Koordinator seine Transaktions-ID ablaufen lässt. Diese Einstellung beeinflusst auch den Ablauf der Producer-ID, da sie bewirkt, dass Producer-IDs ablaufen, wenn diese Zeit nach dem letzten Schreibvorgang mit der angegebenen Producer-ID abgelaufen ist. Produzenten-IDs laufen aufgrund der Aufbewahrungseinstellungen für das Thema möglicherweise früher ab, wenn der letzte Schreibvorgang aus der Produzenten-ID gelöscht wird. Der Mindestwert für diese Eigenschaft ist 1 Millisekunde.

Apache Kafka Standard

Dynamische Konfigurationen auf Express Brokers

Sie können die Apache AlterConfig Kafka-API oder das Kafka-configs.sh Tool verwenden, um die folgenden dynamischen Konfigurationen zu bearbeiten. Amazon MSK legt alle anderen Eigenschaften fest und verwaltet sie, die Sie nicht festlegen. Sie können Konfigurationseigenschaften auf Cluster- und Broker-Ebene dynamisch festlegen, für die kein Broker-Neustart erforderlich ist.

Property (Eigenschaft) Description (Beschreibung) Standardwert

angekündigte.listeners

Listener, die veröffentlicht werden sollen, damit Clients sie verwenden können, falls sie sich von der Eigenschaft config unterscheiden. listeners In IaaS-Umgebungen muss sich diese möglicherweise von der Schnittstelle unterscheiden, an die sich der Broker bindet. Wenn dies nicht festgelegt ist, wird der Wert für Listener verwendet. Im Gegensatz zu Listenern ist es nicht zulässig, die 0.0.0.0-Metaadresse bekannt zu geben.

Im Gegensatz dazu kann diese Eigenschaft auch doppelte Ports enthaltenlisteners, sodass ein Listener so konfiguriert werden kann, dass er die Adresse eines anderen Listeners ankündigt. Dies kann in einigen Fällen nützlich sein, in denen externe Load Balancer verwendet werden.

Diese Eigenschaft wird pro Broker festgelegt.

Null

compression.type

Der endgültige Komprimierungstyp für ein bestimmtes Thema. Sie können diese Eigenschaft auf die Standard-Komprimierungscodecs (gzip, snappy, lz4 und zstd) festlegen. Akzeptiert zusätzlich uncompressed. Dieser Wert entspricht keiner Komprimierung. Wenn Sie den Wert auf producer setzen, bedeutet dies, dass der ursprüngliche Komprimierungs-Codec beibehalten wird, den der Produzent festlegt.

Apache Kafka Standard
log.cleaner.delete.retention.ms Der Zeitraum, für den gelöschte Tombstone-Markierungen für im Protokoll komprimierte Themen aufbewahrt werden sollen. Diese Einstellung gibt auch eine Grenze für die Zeit vor, in der ein Verbraucher einen Lesevorgang abschließen muss, wenn er bei Offset 0 beginnt, um sicherzustellen, dass er einen gültigen Snapshot der letzten Phase erhält. Andernfalls könnten gelöschte Tombstones gesammelt werden, bevor der Scan abgeschlossen ist. 86400000 (24 * 60 * 60 * 1000 ms, d. h. 1 Tag), Apache Kafka Default
log.cleaner.min.compaction.lag.ms Die Mindestdauer, für die eine Nachricht im Protokoll unverpackt bleibt. Diese Einstellung gilt nur für Protokolle, die komprimiert werden. 0, Apache Kafka Standard
log.cleaner.max.compaction.lag.ms Die maximale Zeit, für die eine Nachricht im Protokoll nicht komprimiert werden kann. Diese Einstellung gilt nur für Protokolle, die komprimiert werden. Diese Konfiguration wäre auf den Bereich von [7 Tagen, Long.Max] begrenzt. 9223372036854775807, Apache Kafka Standard

log.cleanup.policy

Die Standard-Bereinigungsrichtlinie für Segmente außerhalb des Aufbewahrungsfensters. Eine durch Kommata getrennte Liste gültiger Richtlinien. Gültige Richtlinien sind delete und compact. Für Cluster, für die Tiered Storage aktiviert ist, gilt nur eine gültige Richtlinie. delete

Apache Kafka Standard

log.message.timestamp.after.max.ms

Die zulässige Zeitstempeldifferenz zwischen dem Nachrichtenzeitstempel und dem Zeitstempel des Brokers. Der Zeitstempel der Nachricht kann später als oder gleich dem Zeitstempel des Brokers sein, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird. Wennlog.message.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennlog.message.timestamp.type=LogAppendTime.

86400000 (24 * 60 * 60 * 1000 ms, das heißt, 1 Tag)

log.message.timestamp.before.max.ms

Die zulässige Zeitstempeldifferenz zwischen dem Zeitstempel des Brokers und dem Zeitstempel der Nachricht. Der Zeitstempel der Nachricht kann vor oder mit dem Zeitstempel des Brokers übereinstimmen, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird. Wennlog.message.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennlog.message.timestamp.type=LogAppendTime.

86400000 (24 * 60 * 60 * 1000 ms, das heißt, 1 Tag)

log.message.timestamp.type

Gibt an, wenn der Zeitstempel in der Nachricht die Erstellungszeit der Nachricht oder die Anfügezeit des Protokolls widerspiegelt. Die zulässigen Werte sind CreateTime und LogAppendTime.

Apache Kafka Standard

log.retention.bytes

Maximale Größe des Protokolls vor dem Löschen.

Apache Kafka Standard

log.retention.ms

Anzahl der Millisekunden, um eine Protokolldatei aufzubewahren, bevor sie gelöscht wird.

Apache Kafka Standard

max.connection.creation.rate

Die maximale Verbindungserstellungsrate, die im Broker zu jedem Zeitpunkt zulässig ist.

Apache Kafka Standard

max. Verbindungen

Die maximale Anzahl von Verbindungen, die im Broker zu einem beliebigen Zeitpunkt zulässig sind. Dieses Limit wird zusätzlich zu allen Grenzwerten pro IP angewendet, die mit max.connections.per.ip konfiguriert wurden.

Apache Kafka Standard

max.connections.per.ip

Die maximale Anzahl von Verbindungen, die von jeder IP-Adresse aus zulässig sind. Dies kann auf festgelegt werden, 0 wenn mithilfe der Eigenschaft max.connections.per.ip.overrides Überschreibungen konfiguriert wurden. Neue Verbindungen von der IP-Adresse werden unterbrochen, wenn das Limit erreicht wird.

Apache Kafka Standard

max.connections.per.ip.overrides

Eine durch Kommas getrennte Liste von IP-Adressen oder Hostnamen überschreibt die standardmäßige maximale Anzahl von Verbindungen. Ein Beispielwert ist hostName:100,127.0.0.1:200

Apache Kafka Standard

message.max.bytes

Die größte von Kafka unterstützte Protokoll-Batch-Größe. Wenn Sie diesen Wert erhöhen und Verbraucher älter als 0.10.2 vorhanden sind, müssen Sie auch die Abrufgröße der Verbraucher erhöhen, damit sie diese großen Datensatz-Batch abrufen können. In der neuesten Nachrichtenformat-Version werden Datensätze aus gründen der Effizienz immer in Batches gruppiert. In früheren Nachrichtenformat-Versionen werden nicht komprimierte Datensätze nicht in Batches gruppiert und diese Beschränkung gilt in diesem Fall nur für einen einzelnen Datensatz. Sie können diesen Wert pro Thema mit der max.message.bytes Konfiguration auf Themenebene festlegen.

Apache Kafka Standard

producer.id.expiration.ms

Die Zeit in ms, in der ein Anführer einer Themen-Partition wartet, bis die Producer-IDs ablaufen. Produzenten-IDs laufen nicht ab, solange eine mit ihnen verknüpfte Transaktion noch läuft. Beachten Sie, dass Produzenten-IDs aufgrund der Aufbewahrungseinstellungen des Themas früher ablaufen können, wenn der letzte Schreibvorgang von der Produzenten-ID gelöscht wird. Wenn Sie diesen Wert auf den gleichen Wert oder einen höheren Wert setzen, delivery.timeout.ms können Sie das Ablaufen bei Wiederholungsversuchen verhindern und verhindern, dass Nachrichten dupliziert werden. Die Standardeinstellung sollte jedoch für die meisten Anwendungsfälle angemessen sein.

Apache Kafka Standard
Anmerkung

Auf KRaft-based Clustern (einschließlich aller Express-Broker-Cluster) werden dynamische advertised.listeners Überschreibungen pro Broker nicht unterstützt. Verwenden Sie die statische custom.advertised.listeners Eigenschaft, um benutzerdefinierte Domainnamen auf KRaft-based Clustern zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren Sie benutzerdefinierte Domainnamen für Ihren Amazon MSK-Cluster.

Topic-level Konfigurationen auf Express Brokers

Sie können Apache Kafka-Befehle verwenden, um Konfigurationseigenschaften auf Themenebene für neue und vorhandene Themen festzulegen oder zu ändern. Wenn Sie keine Konfiguration auf Themenebene angeben können, verwendet Amazon MSK den Broker-Standard. Wie bei Konfigurationen auf Brokerebene schützt Amazon MSK einige der Konfigurationseigenschaften auf Themenebene vor Änderungen. Beispiele hierfür sind der Replikationsfaktor und. min.insync.replicas unclean.leader.election.enable Wenn Sie versuchen, ein Thema mit einem anderen Replikationsfaktorwert als zu erstellen3, erstellt Amazon MSK das Thema standardmäßig mit einem Replikationsfaktor 3 von. Weitere Informationen zu Konfigurationseigenschaften auf Themenebene und Beispiele zu deren Einstellung finden Sie unter Topic-Level Configs in der Apache Kafka-Dokumentation.

Property (Eigenschaft) Description (Beschreibung)

cleanup.policy

Diese Konfiguration legt die Aufbewahrungsrichtlinie fest, die für Protokollsegmente verwendet werden soll. Die „Löschen“ -Richtlinie (die Standardeinstellung) verwirft alte Segmente, wenn ihre Aufbewahrungszeit oder Größenbeschränkung erreicht ist. Die „kompakte“ Richtlinie ermöglicht die Protokollkomprimierung, bei der der neueste Wert für jeden Schlüssel beibehalten wird. Es ist auch möglich, beide Richtlinien in einer durch Kommas getrennten Liste anzugeben (z. B. „löschen, komprimieren“). In diesem Fall werden alte Segmente gemäß der Konfiguration für Aufbewahrungszeit und Größe verworfen, während die beibehaltenen Segmente komprimiert werden. Die Komprimierung auf Express-Brokern wird ausgelöst, nachdem die Daten in einer Partition 256 MB erreicht haben.

compression.type

Geben Sie den endgültigen Komprimierungstyp für ein bestimmtes Thema an. Diese Konfiguration akzeptiert die Standard-Komprimierungscodecs (gzip,, snappylz4,zstd). Sie akzeptiert zusätzlichuncompressed, was keiner Komprimierung entspricht; und producer das bedeutet, dass der ursprüngliche Komprimierungscodec beibehalten wird, der vom Hersteller festgelegt wurde.

lösche.retention.ms

Der Zeitraum, in dem gelöschte Tombstone-Markierungen für im Protokoll komprimierte Themen aufbewahrt werden sollen. Diese Einstellung gibt auch eine Grenze für die Zeit an, in der ein Verbraucher einen Lesevorgang abschließen muss, wenn er bei Offset 0 beginnt, um sicherzustellen, dass er einen gültigen Snapshot der letzten Phase erhält. Andernfalls könnten gelöschte Tombstones gesammelt werden, bevor der Scan abgeschlossen ist.

Der Standardwert für diese Einstellung ist 86400000 (24 * 60 * 60 * 1000 ms, d. h. 1 Tag), Apache Kafka Default

max.message.bytes

Die größte von Kafka zulässige Datensatzstapelgröße (nach der Komprimierung, wenn die Komprimierung aktiviert ist). Wenn dieser Wert erhöht wird und es Verbraucher gibt, die älter als sind0.10.2, muss auch die Abrufgröße der Verbraucher erhöht werden, damit sie Datensatzstapel abrufen können, die so groß sind. In der neuesten Nachrichtenformatversion werden Datensätze aus gründen der Effizienz immer in Stapeln gruppiert. In früheren Nachrichtenformatversionen werden nicht komprimierte Datensätze nicht in Stapeln gruppiert und diese Beschränkung gilt in diesem Fall nur für einen einzelnen Datensatz. Dies kann pro Thema mit der Themenebene festgelegt werden. max.message.bytes config

message.timestamp.after.max.ms

Diese Konfiguration legt den zulässigen Zeitstempelunterschied zwischen dem Nachrichtenzeitstempel und dem Zeitstempel des Brokers fest. Der Nachrichtenzeitstempel kann später als oder gleich dem Zeitstempel des Brokers sein, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird. Wennmessage.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennmessage.timestamp.type=LogAppendTime.

message.timestamp.before.max.ms

Diese Konfiguration legt den zulässigen Zeitstempelunterschied zwischen dem Zeitstempel des Brokers und dem Nachrichtenzeitstempel fest. Der Nachrichtenzeitstempel kann vor oder mit dem Zeitstempel des Brokers übereinstimmen, wobei die maximal zulässige Differenz durch den in dieser Konfiguration festgelegten Wert bestimmt wird. Wennmessage.timestamp.type=CreateTime, wird die Nachricht zurückgewiesen, wenn der Unterschied zwischen den Zeitstempeln diesen angegebenen Schwellenwert überschreitet. Diese Konfiguration wird ignoriert, wennmessage.timestamp.type=LogAppendTime.

message.timestamp.type

Definieren Sie, ob der Zeitstempel in der Nachricht die Uhrzeit der Nachrichtenerstellung oder die Uhrzeit des Anfügens des Protokolls ist. Der Wert sollte entweder oder sein CreateTime LogAppendTime

min.compaction.lag.ms

Die Mindestdauer, für die eine Nachricht im Protokoll unverpackt bleibt. Diese Einstellung gilt nur für Protokolle, die komprimiert werden.

Der Standardwert für diese Einstellung ist 0, Apache Kafka Default

max.compaction.lag.ms

Die maximale Zeit, für die eine Nachricht im Protokoll nicht komprimiert werden kann. Diese Einstellung gilt nur für Protokolle, die komprimiert werden. Diese Konfiguration wäre auf den Bereich von [7 Tagen, Long.Max] begrenzt.

Der Standardwert für diese Einstellung ist 9223372036854775807, Apache Kafka Default.

retention.bytes

Diese Konfiguration steuert die maximale Größe, auf die eine Partition (die aus Protokollsegmenten besteht) anwachsen kann, bevor wir alte Protokollsegmente verwerfen, um Speicherplatz freizugeben, wenn wir die Aufbewahrungsrichtlinie „Löschen“ verwenden. Standardmäßig gibt es keine Größenbeschränkung, nur ein Zeitlimit. Da dieses Limit auf Partitionsebene durchgesetzt wird, multiplizieren Sie es mit der Anzahl der Partitionen, um die Beibehaltung des Themas in Byte zu berechnen. retention.bytes configurationFunktioniert außerdem unabhängig von segment.ms segment.bytes Konfigurationen. Darüber hinaus löst es das Rollen eines neuen Segments aus, wenn das auf Null konfiguriert retention.bytes ist.

retention.ms

Diese Konfiguration legt fest, wie lange wir ein Protokoll maximal aufbewahren, bevor wir alte Protokollsegmente verwerfen, um Speicherplatz freizugeben, wenn wir die Aufbewahrungsrichtlinie „Löschen“ verwenden. Dies ist ein SLA, das festlegt, wie schnell Verbraucher ihre Daten lesen müssen. Wenn auf gesetzt-1, gilt kein Zeitlimit. Darüber hinaus funktioniert die retention.ms Konfiguration unabhängig von segment.ms den segment.bytes Konfigurationen. Außerdem wird das Rollen eines neuen Segments ausgelöst, wenn die retention.ms Bedingung erfüllt ist.