Domande frequenti su Event Streams

Questo documento contiene informazioni su domande o problemi comuni riscontrati dagli utenti del servizio IBM® Event Streams for IBM Cloud®. La sua finalità è quella di rispondere alle domande o fornire istruzioni su come risolvere i problemi senza la necessità di aprire un ticket di supporto.

Come posso utilizzare le API Kafka per creare ed eliminare gli argomenti?

Se utilizzi un client Kafka alla versione 0.11 o successiva, oppure Kafka Streams alla versione 0.10.2.0 o successiva, puoi utilizzare le API per creare ed eliminare gli argomenti. Abbiamo posto alcune restrizioni sulle impostazioni consentite quando crei gli argomenti. Attualmente, puoi modificare solo le seguenti impostazioni:

cleanup.policy

Impostare su delete (impostazione predefinita), compact o delete,compact

retention.ms

Il periodo di conservazione predefinito è 24 ore. Il minimo è 1 ora e il massimo è 30 giorni. Specifica questo valore come multipli di ore.

Nota: Nel piano Enterprise, è possibile impostarlo su qualsiasi valore.

retention.bytes

La dimensione massima di una partizione (che consiste in segmenti di log) può crescere fino a prima che eliminiamo i segmenti di log obsoleti per liberare spazio.

Nota: Enterprise: impostare un valore compreso tra 100 KiB e 2 TiB. Standard: impostare su un valore compreso tra 100 KiB e 1 GiB.

segment.bytes

La dimensione del file di segmenti per il log.

Nota: Enterprise: impostare un valore compreso tra 100 KiB e 2 TiB. Standard: impostare su un valore compreso tra 100 KiB e 512 MiB.

segment.index.bytes

La dimensione dell'indice che associa gli offset alle posizioni file.

Nota: Enterprise: impostare su un valore compreso tra 100 KiB e 1 TiB. Standard: impostare su un valore compreso tra 100 KiB e 100 MiB.

segment.ms

Il periodo di tempo dopo il quale Kafka forzerà la rotazione del log anche se il file di segmenti non è pieno.

Nota: Impostare un valore compreso tra 5 minuti e 30 giorni.

Vedere il seguente esempio di impostazioni di valori predefiniti.

 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  

Per quanto tempo Event Streams imposta la finestra di conservazione del log per l'argomento degli offset del consumatore?

Event Streams conserva gli offset del consumatore per 7 giorni. Questo corrisponde alla configurazione Kafka offsets.retention.minutes.

a conservazione di offset avviene a livello di sistema, pertanto non puoi impostarla a livello di un singolo argomento. Tutti i gruppi di consumatori ottengono solo 7 giorni di offset memorizzati anche se utilizzano un argomento con una conservazione del log che è stata aumentata fino al massimo di 30 giorni.

L'argomento __consumer_offsets Kafka interno è visibile per te in sola lettura sul piano Enterpise. Ti consigliamo vivamente di non provare a gestire l'argomento in alcun modo. Non puoi accedere all'argomento __consumer_offsets in alcun modo sul piano Standard.

Come elimino un gruppo di consumatori senza alcun consumatore?

Dopo che i consumatori hanno abbandonato il gruppo, esso continua ad esistere solo se dispone di offset. Gli offset dei consumatori vengono eliminati dopo 7 giorni di inattività. Di conseguenza, un gruppo di consumatori viene eliminato quando l'ultimo offset di cui è stato eseguito il commit per tale gruppo scade.

Se si desidera eliminare esplicitamente un gruppo alla volta, è possibile utilizzare l'API deleteConsumerGroups() o il comando ibmcloud es group-delete.

Per quanto vengono conservati i messaggi?

Per impostazione predefinita, i messaggi vengono conservati in Kafka per un massimo di 24 ore e ciascuna partizione ha un limite massimo di 1 GB. Se viene raggiunto il limite massimo di 1 GB, i messaggi vengono eliminati per restare entro il limite.

Puoi modificare il limite di tempo per la conservazione dei messaggi quando crei un argomento utilizzando l'interfaccia utente o l'API di gestione. Il limite di tempo è pari a un minimo di un'ora e a un massimo di 30 giorni.

Per informazioni sulle limitazioni sulle impostazioni consentite quando crei degli argomenti utilizzando un client Kafka o Kafka Streams, vedi Come posso utilizzare le API Kafka per creare ed eliminare gli argomenti?

Che cos'è il comportamento di disponibilità di Event Streams?

Se scrivi applicazioni Event Streams, utilizza queste informazioni per comprendere quale sia il normale comportamento di disponibilità di Event Streams e cosa deve essere gestito dalle tue applicazioni.

API

Come parte del normale funzionamento di Event Streams, i nodi dei cluster Kafka vengono riavviati occasionalmente. In alcuni casi, le tue applicazioni riconosceranno quando il cluster riassegna risorse. Scrivi le tue applicazioni in modo che siano resilienti a queste modifiche e che possano riconnettersi e ritentare le operazioni.

Qual è la dimensione massima del messaggio di Event Streams?

La dimensione massima del messaggio di Event Streams è 1 MB, che è il valore predefinito di Kafka.

Quali sono le impostazioni della replica di Event Streams?

Event Streams è configurato per fornire elevate disponibilità e durabilità. Le seguenti impostazioni di configurazione si applicano a tutti gli argomenti e non possono essere modificate:

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

Quali sono le limitazioni e i valori predefiniti per gli argomenti e le partizioni?

  • I nomi degli argomenti sono limitati a un massimo di 200 caratteri.
  • Il numero predefinito di partizioni per un argomento è uno.
  • Ogni spazio IBM Cloud ha un limite di 100 partizioni. Per creare più partizioni, devi utilizzare un nuovo spazio IBM Cloud.

Come controllo di quale piano Event Streams ho eseguito il provisioning?

Per confermare il tipo di piano di assistenza ( Event Streams ) che hai attivato (Lite, Standard o Enterprise), procedi come segue:

  1. Nella console IBM Cloud, vai all'istanza di Event Streams che vuoi controllare.
  2. Fai clic sulla scheda Piano nel pannello di navigazione di sinistra. La sezione Piano corrente visualizza il tuo tipo di piano.

Posso modificare il mio piano Event Streams tramite la console IBM Cloud?

Sì, ma solo se stai passando dal piano Lite a quello Standard.

  1. Nella console IBM Cloud, vai all'istanza del piano Lite di Event Streams che vuoi modificare.

  2. Fai clic sulla scheda Piano nel pannello di navigazione di sinistra.

  3. Nella sezione Modifica piano dei prezzi, spunta la casella Standard. Fai clic su Upgrade.

    Attendi alcuni minuti che il limite di memorizzazione nella cache di 1 partizione del piano Lite venga eliminato in modo da poterti avvalere del limite di 100 partizioni del piano Standard.

    Tuttavia, questa opzione al momento non funziona nella console IBM Cloud per qualsiasi altra combinazione di piani. Ad esempio, se si prova una combinazione di piani diversa, verrà visualizzato un messaggio di errore simile al seguente:

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

Quali sono le differenze tra i piani Event Streams Standard e Event Streams Enterprise?

Per trovare ulteriori informazioni sui diversi piani Event Streams, consulta Scelta del tuo piano.

Come gestisco il ripristino di emergenza?

Attualmente, è responsabilità dell'utente gestire il proprio ripristino di emergenza Event Streams. I dati Event Streams possono essere replicati tra un'istanza Event Streams in un'ubicazione (regione) e un'altra istanza in un'ubicazione differente. Tuttavia, l'utente è responsabile del provisioning di un'istanza Event Streams remota e della gestione della replica.

Ti suggeriamo di utilizzare uno strumento come Kafka MirrorMaker per replicare i dati tra i cluster. Per informazioni su come eseguire un MirrorMaker,, vedere Event Streams repository kafka-mirrormaker. Per un esempio del processo di ripristino, consultare Utilizzo del mirroring in uno scenario di ripristino di emergenza.

L'utente è anche responsabile del backup dei dati del payload del messaggio. Anche se questi dati vengono replicati tra più broker Kafka all'interno di un cluster, che protegge contro la maggior parte degli errori, questa replica non copre un errore al livello dell'ubicazione. Si raccomanda agli utenti di eseguire il backup dei nomi degli argomenti e dei dati di configurazione per tali argomenti.

Se hai configurato la tua istanza di Event Streams in una regione multizona, un'emergenza a livello regionale è molto improbabile. Tuttavia, consigliamo agli utenti di prendere in considerazione tali circostanze. Se l'istanza di un utente non è più disponibile a causa di un'emergenza (e un'istanza di ripristino di emergenza (DR) non è ancora configurata), l'utente dovrebbe prendere in considerazione di configurare una nuova istanza in una nuova regione e ripristinare i propri argomenti e dati dal backup se disponibile. Le applicazioni possono poi venire puntate alla nuova istanza.