Lors de la migration de charges de travail Kafka vers le cloud ou durant les phases de développement itératif, la création manuelle des groupes de consommateurs dans la console ralentit vos opérations. La fonctionnalité Flexible Group Creation élimine cette étape : les groupes sont créés automatiquement lorsqu'un consommateur se connecte avec un group.id qui n'existe pas encore.
| Approche | Cas d'utilisation |
|---|---|
| Activer la création automatique de groupes (ce guide) | Migration vers le cloud, développement ou tests. Aucune action dans la console n'est requise. |
| Créer des groupes manuellement | Production. Contrôle total sur l'allocation des ressources et la dénomination. Consultez la rubrique Créer un groupe ou l'API CreateConsumerGroup. |
Évitez de laisser la création automatique de groupes activée sur le long terme en environnement de production. Des clients mal configurés peuvent entraîner une consommation incontrôlée des ressources, augmentant ainsi les coûts d'exploitation et de maintenance (O&M) et compromettant la stabilité du système.
Prérequis
Avant de commencer, assurez-vous que votre instance ApsaraMQ for Kafka répond aux exigences suivantes :
| Exigence | Valeur |
|---|---|
| Statut | Running |
| Version majeure | 2.2.0 |
| Version mineure | Dernière version disponible |
Vérifiez le statut et la version de l'instance dans la section Basic Information de la page Instance Details.
Activer la fonctionnalité
Connectez-vous à la console ApsaraMQ for Kafka.
Dans la section Resource Distribution de la page Overview, sélectionnez la région où votre instance est déployée.
Sur la page Instances, cliquez sur le nom de l'instance concernée.
Dans la section Configuration Information, activez l'interrupteur Flexible Group Creation.
Consommer des messages avec un groupe créé automatiquement
Définissez la propriété group.id avec un nom qui n'existe pas encore. Le groupe est créé automatiquement lors du premier appel à 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));
Cette méthode fonctionne avec tout SDK consommateur prenant en charge la propriété standard group.id.
Désactiver la fonctionnalité
Examinez les points suivants avant de désactiver la création automatique de groupes :
| Considération | Détails |
|---|---|
| Impact sur les consommateurs existants | Les groupes non créés via la console ne pourront plus consommer de messages ni valider leurs offsets après la désactivation de la fonctionnalité. Procédez avec prudence. |
| La désactivation est asynchrone | Le statut de l'instance passe à Upgrading pendant le processus, puis revient à In Service une fois l'opération terminée. Les nœuds ne sont pas redémarrés. |
| Évitez de créer des groupes pendant la transition | Ne créez pas de nouveaux groupes automatiquement pendant que la fonctionnalité est en cours de désactivation. |
Pour désactiver la fonctionnalité, retournez dans la section Configuration Information de la page Instance Details et désactivez l'interrupteur Flexible Group Creation.
Règles de dénomination des groupes
Les noms des groupes créés automatiquement doivent respecter les règles suivantes :
| Règle | Valeur |
|---|---|
| Longueur | 3 à 128 caractères |
| Caractères autorisés | Lettres, chiffres, traits d'union (-) et underscores (_) |
| Exigence supplémentaire | Au moins une lettre ou un chiffre |
Limites
Le nombre de groupes créés automatiquement ne peut pas dépasser la limite définie par la spécification de votre instance. Une fois cette limite atteinte, aucun nouveau groupe ne peut être créé automatiquement. Pour plus de détails, consultez la rubrique Limites.
Le serveur nettoie les groupes créés automatiquement après l'expiration des offsets de leurs consommateurs.
Identifier les groupes créés automatiquement dans la console
Les groupes créés automatiquement sont répertoriés sur la page Groups avec la description « Automatically created ».
La colonne Auto Creation de ces groupes indique Yes.
Validation des offsets en mode Assign
Même sans activer la fonctionnalité Flexible Group Creation, la validation des offsets des consommateurs via la méthode Assign crée un groupe correspondant sur le cluster Kafka. Ce comportement est activé par défaut. Pour le désactiver, soumettez un ticket.