Perguntas mais frequentes sobre o Event Streams
Este documento contém informações sobre dúvidas ou problemas comuns encontrados pelos usuários do serviço IBM® Event Streams for IBM Cloud®. Ele visa responder perguntas ou fornecer instruções sobre como resolver problemas sem a necessidade de gerar um chamado de suporte.
Como uso as APIs Kafka para criar e excluir tópicos?
Se estiver usando um cliente Kafka em 0.11 ou mais recente ou o Streams Kafka em 0.10.2.0 ou mais recente, será possível utilizar APIs para criar e excluir tópicos. Colocamos algumas restrições nas configurações permitidas ao criar tópicos. Atualmente, é possível modificar somente as configurações a seguir:
- cleanup.policy
-
Configure para
delete(padrão),compactoudelete,compact - retention.ms
-
O período de retenção padrão é de 24 horas. O mínimo é uma hora e o máximo é 30 dias. Especifique esse valor como múltiplos de horas.
Nota: No plano Enterprise, é possível configurar isso para qualquer valor.
- retention.bytes
-
O tamanho máximo que uma partição (que consiste em segmentos de log) pode atingir antes que descartemos segmentos de log antigos para liberar espaço.
Nota: Enterprise: configure para qualquer valor entre 100 KiB e 2 TiB. Standard: configure para qualquer valor entre 100 KiB e 1 GiB.
- segment.bytes
-
O tamanho do arquivo de segmento para o log.
Nota: Enterprise: configure para qualquer valor entre 100 KiB e 2 TiB. Standard: configure para qualquer valor entre 100 KiB e 512 MiB.
- segment.index.bytes
-
O tamanho do índice que mapeia deslocamentos para posições do arquivo.
Nota: Enterprise: Configurar para qualquer valor entre 100 KiB e 1 TiB. Standard: Configurar para qualquer valor entre 100 KiB e 100 MiB.
- segment.ms
-
O período após o qual o Kafka força o log a rolar, mesmo que o arquivo de segmento ainda não esteja completo.
Nota: Configurar para qualquer valor entre 5 minutos e 30 dias.
Veja o exemplo a seguir de configurações de valor padrão.
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
Por quanto tempo o Event Streams configura a janela de retenção de log para o tópico de compensações do consumidor?
O Event Streams retém as compensações do consumidor por sete dias. Isso corresponde à configuração offsets.retention.minutes do Kafka.
A retenção de compensação é feita no sistema inteiro, portanto, não é possível configurá-la em um nível de tópico individual. Todos os grupos de consumidores obtêm somente 7 dias de compensações armazenadas, mesmo se usando um tópico com uma retenção de log que foi aumentada para o máximo de 30 dias.
O tópico interno __consumer_offsets do Kafka é visível para você como somente leitura no plano Enterprise. É altamente recomendado não tentar gerenciar o tópico de nenhuma maneira. Não é possível acessar o tópico __consumer_offsets de forma alguma no plano Standard.
Como posso limpar um grupo de consumidores sem consumidores?
Depois que os consumidores saem, um grupo continua a existir apenas se tiver compensações. As compensações do consumidor são excluídas após 7 dias de inatividade. Consequentemente, um grupo de consumidores é excluído quando a última compensação confirmada para esse grupo expira.
Se quiser excluir explicitamente um grupo em um momento escolhido por você, poderá usar o botão deleteConsumerGroups() Ou o comando ibmcloud es group-delete.
Quanto tempo as mensagens ficam retidas?
Por padrão, as mensagens são retidas no Kafka por até 24 horas e cada partição é limitada a 1 GB. Se um valor máximo de 1 GB for atingido, as mensagens mais antigas serão descartadas para permanecerem no limite.
É possível mudar o limite de tempo para retenção mensagem ao criar um tópico usando a interface com o usuário ou a API de administração. O limite de tempo é um mínimo de uma hora e um máximo de 30 dias.
Para obter informações sobre as restrições das configurações permitidas ao criar tópicos usando um cliente Kafka ou o Kafka Streams, consulte Como usar as APIs do Kafka para criar e excluir tópicos?
O que é comportamento de disponibilidade do Event Streams?
Se você gravar aplicativos do Event Streams, use estas informações para entender o que é um comportamento normal de disponibilidade do Event Streams e o que seus aplicativos esperam manipular.
APIs
Como parte da operação regular do Event Streams, os nós do cluster do Kafka são reiniciados ocasionalmente. Em alguns casos, seus aplicativos se tornam perceptivos conforme o cluster redesigna recursos. Grave seus aplicativos para que sejam resilientes a essas mudanças e capazes de se reconectarem e tentarem novamente as operações.
Qual é o tamanho máximo da mensagem do Event Streams?
O tamanho máximo de mensagem do Event Streams é 1 MB, que é o padrão do Kafka.
O que são as configurações de replicação do Event Streams?
O Event Streams é configurado para fornecer disponibilidade e durabilidade fortes. As seguintes definições de configuração se aplicam a todos os tópicos e não podem mudar:
- replication.factor = 3
- min.insync.replicas = 2
Quais são as restrições e padrões para tópicos e partições?
- Os nomes de tópicos estão restritos a um máximo de 200 caracteres.
- O número padrão de partições para um tópico é um.
- Cada espaço do IBM Cloud possui um limite de 100 partições. Para criar mais partições, deve-se usar um novo espaço do IBM Cloud.
Como verifico qual plano do Event Streams provisionei?
Para confirmar qual tipo de plano Event Streams você provisionou (Lite, Standard ou Enterprise), conclua as seguintes etapas:
- No console do IBM Cloud, navegue para a instância do Event Streams que você deseja verificar.
- Clique na guia Plano na área de janela de navegação à esquerda. A seção Plano atual exibe seu tipo de plano.
Posso mudar meu plano do Event Streams usando o console do IBM Cloud?
Sim, mas somente se você estiver se deslocando do plano Lite para o plano Standard.
-
No console do IBM Cloud, navegue para a instância do plano Event Streams Lite que você deseja mudar.
-
Clique na guia Plano na área de janela de navegação à esquerda.
-
Na seção Mudar plano de precificação, selecione a caixa Standard. Clique em Fazer upgrade.
Aguarde alguns minutos para que o limite em cache de uma partição seja liberado para o plano Lite, para que você possa aproveitar o limite de 100 partições para o plano Standard.
No entanto, essa opção não funciona atualmente no console do IBM Cloud para qualquer outra combinação de planos. Por exemplo, se você tentar uma combinação de planos diferente, verá uma mensagem de erro como a seguinte:
Could not find VCAP::CloudController::ServicePlan with guid: ibm.eventstreams.standard
Quais são as diferenças entre os planos Event Streams Standard e Event Streams Enterprise?
Para localizar mais informações sobre os diferentes planos do Event Streams, consulte Escolhendo seu plano.
Como eu manipulo a recuperação de desastre?
Atualmente, é de responsabilidade do usuário gerenciar sua própria recuperação de desastre do Event Streams . Os dados do Event Streams podem ser replicados entre uma instância do Event Streams em um local (região) e outra instância em um local diferente. No entanto, o usuário é responsável por provisionar uma instância remota do Event Streams e gerenciar a replicação.
Sugerimos uma ferramenta como o Kafka MirrorMaker para replicar dados entre clusters. Para obter informações sobre como executar MirrorMaker, consulte Event Streams repositório kafka-mirrormaker. Para obter um exemplo do processo de recuperação, consulte Usando o espelhamento em um cenário de recuperação de desastre.
O usuário também é responsável pelo backup dos dados de carga útil da mensagem. Embora esses dados sejam replicados por múltiplos brokers do Kafka dentro de um cluster, o que protege contra a maioria das falhas, essa replicação não cobre uma falha em toda a localização. Recomenda-se como boa prática que os usuários façam backup dos nomes dos tópicos e dos dados de configuração desses tópicos.
Se você configurou sua instância do Event Streams em uma Região de multizona, um desastre regional será muito improvável. No entanto, recomendamos que os usuários realmente se planejem para tais circunstâncias. Se uma instância do usuário não estiver mais disponível por causa de um desastre (e uma instância de DR remota ainda não estiver configurada), o usuário deverá considerar a configuração de uma nova instância em uma nova região e restaurar seus tópicos e dados do backup, se disponível. Os aplicativos podem, então, ser apontados para a nova instância.