Ao migrar cargas de trabalho do Kafka para a nuvem ou iterar durante o desenvolvimento, a criação manual de Groups de consumidores no console atrasa o processo. O recurso Flexible Group Creation elimina essa etapa: os Groups são criados automaticamente quando um consumidor se conecta com um group.id inexistente.
|
Abordagem |
Quando usar |
|
Ativar a criação automática de Groups (este guia) |
Migração para a nuvem, desenvolvimento ou testes. Não requer etapas no console. |
|
Criar Groups manualmente |
Produção. Oferece controle total sobre alocação de recursos e nomenclatura. Consulte Criar um Group ou a API CreateConsumerGroup. |
Não mantenha a criação automática de Groups ativada permanentemente em produção. Clientes mal configurados podem causar consumo descontrolado de recursos, aumentar os custos de O&M e comprometer a estabilidade do sistema.
Pré-requisitos
Antes de começar, verifique se sua instância do ApsaraMQ for Kafka atende aos seguintes requisitos:
|
Requisito |
Valor |
|
Status |
Running |
|
Versão principal |
2.2.0 |
|
Versão secundária |
Mais recente |
Verifique o status e a versão da instância na seção Basic Information da página Instance Details.
Ativar o recurso
Faça login no console do ApsaraMQ for Kafka.
Na seção Resource Distribution da página Overview, selecione a região onde a instância está implantada.
Na página Instances, clique em nome da instância.
Na seção Configuration Information, ative a chave Flexible Group Creation.
Consumir mensagens com um Group criado automaticamente
Defina group.id com um nome inexistente. O Group é criado automaticamente na primeira consulta (poll).
props.put(ConsumerConfig.GROUP_ID_CONFIG, "newConsumerGroup");
consumer.subscribe(Collections.singletonList("newTopicName"));
// If the Group does not exist and its name is valid, it is automatically created.
consumer.poll(Duration.ofSeconds(1));
Esse comportamento funciona com qualquer SDK de consumidor compatível com a propriedade padrão group.id.
Desativar o recurso
Analise os pontos abaixo antes de desativar a criação automática de Groups:
|
Consideração |
Detalhes |
|
Consumidores existentes são afetados |
Groups não criados pelo console deixam de consumir mensagens ou confirmar offsets após a desativação do recurso. Desative com cautela. |
|
A desativação é assíncrona |
Durante o processo, o status da instância muda para Upgrading e retorna para In Service após a conclusão. Os nós não são reiniciados. |
|
Não crie Groups durante a transição |
Evite criar novos Groups automaticamente enquanto o recurso estiver sendo desativado. |
Para desativar o recurso, retorne à seção Configuration Information na página Instance Details e desative a chave Flexible Group Creation.
Regras de nomenclatura de Groups
Os nomes dos Groups criados automaticamente devem seguir estas regras:
|
Regra |
Valor |
|
Comprimento |
3 a 128 caracteres |
|
Caracteres permitidos |
Letras, dígitos, hífens ( |
|
Requisito adicional |
Pelo menos uma letra ou dígito |
Limites
A quantidade de Groups criados automaticamente não pode exceder o limite da especificação da instância. Ao atingir esse limite, nenhum novo Group poderá ser criado automaticamente. Para mais detalhes, consulte Limites.
O servidor limpa os Groups criados automaticamente após a expiração dos offsets de seus consumidores.
Identificar Groups criados automaticamente no console
Os Groups criados automaticamente aparecem na página Groups com a descrição "Automatically created."
A coluna Auto Creation desses Groups exibe o valor Yes.
Confirmações de offset no modo Assign
Mesmo sem o recurso Flexible Group Creation ativado, a confirmação de offsets de consumidor pelo método Assign cria um Group correspondente no cluster Kafka. Esse comportamento vem ativado por padrão. Para desativá-lo, envie um ticket.