Tous les produits
Search
Centre de documentation

ApsaraMQ for Kafka:How do I determine whether a message is sent from the client?

Dernière mise à jour :Aug 11, 2026

Lorsqu'un producteur Kafka appelle la méthode send(), la plupart des bibliothèques clientes renvoient un rappel (callback) ou un objet Future. Si le rappel s'exécute avec succès ou si l'objet Future se termine sans lever d'exception, le message a bien été envoyé.

Vérifiez la livraison dans votre code producteur

Examinez le résultat renvoyé par send() pour confirmer la livraison. L'exemple Java suivant utilise un Callback pour vérifier si le courtier (broker) a accusé réception de l'écriture :

producer.send(new ProducerRecord<>(topic, key, value), (metadata, exception) -> {
    if (exception != null) {
        // Send failed -- log the error and handle the retry
        exception.printStackTrace();
    } else {
        // Send succeeded -- metadata contains the target partition and offset
        System.out.printf("Message delivered: topic=%s, partition=%d, offset=%d%n",
                metadata.topic(), metadata.partition(), metadata.offset());
    }
});

Un rappel réussi confirme que le courtier a accusé réception de l'écriture. La garantie exacte dépend du paramètre acks du producteur :

**Valeur de acks** Signification d'un rappel réussi
0 Le message a été envoyé sur le réseau. Le courtier n'a pas confirmé sa réception.
1 Le leader de la partition a écrit le message dans son journal local.
all (par défaut) Le leader de la partition et tous les réplicas synchronisés ont accusé réception du message. Il s'agit de la garantie de durabilité la plus forte.
Avec acks=0 , un rappel réussi ne garantit pas que le courtier a reçu le message. Pour les charges de travail en production, conservez la valeur par défaut acks=all afin d'obtenir la garantie de durabilité la plus élevée.

Vérifiez la livraison dans la console ApsaraMQ for Kafka

Vous pouvez également utiliser les méthodes suivantes pour vérifier si un message est envoyé comme prévu dans la console ApsaraMQ for Kafka :

  • Consultez l'état des partitions : accédez à la page Topic Details puis ouvrez l'onglet Partition Status. Cet onglet affiche en temps réel le nombre de messages présents dans chaque partition. Une augmentation du compteur de messages confirme que le producteur écrit bien dans la rubrique. Pour plus de détails, consultez l'état des partitions.

  • Examinez les graphiques de trafic : sur la même page Topic Details , rendez-vous dans l'onglet CloudMonitor. Les graphiques de trafic affichent le débit par intervalles d'une minute. Une hausse visible après le démarrage du producteur confirme que les messages arrivent bien au niveau du courtier.