Μια σύνδεση bootstrap μπορεί να πετύχει ενώ ο πελάτης Kafka εξακολουθεί να μην μπορεί να παράγει ή να καταναλώνει. Οι διακομιστές bootstrap βοηθούν τον πελάτη να ανακαλύψει το cluster· δεν είναι απαραίτητα τα μόνα τελικά σημεία με τα οποία θα συνδεθεί.

Τα μεταδεδομένα του broker περιέχουν διευθύνσεις που χρησιμοποιούνται για μεταγενέστερες συνδέσεις. Αν αυτά τα ονόματα ή οι θύρες δεν είναι προσβάσιμα μέσω της προβλεπόμενης διαδρομής proxy, η πρώτη επιτυχημένη σύνδεση δεν λύνει το υπόλοιπο πρόβλημα.

Διαβάστε τα διαφημιζόμενα τελικά σημεία

Συγκρίνετε τη διεύθυνση bootstrap με τις διευθύνσεις broker που λαμβάνει πραγματικά ο πελάτης. Ένα δημόσιο ψευδώνυμο bootstrap μπορεί να οδηγήσει σε ιδιωτικά διαφημιζόμενα ονόματα, και η προώθηση μίας τοπικής θύρας δεν ξαναγράφει αυτόματα κάθε διεύθυνση στα μεταδεδομένα.

Εντοπίστε επίσης τη διαδρομή proxy που υποστηρίζει η υλοποίηση του πελάτη. Μια ιδιότητα SOCKS του συστήματος Java δεν εγγυάται ότι η μεταφορά μιας βιβλιοθήκης βασισμένη σε NIO χρησιμοποιεί τον μηχανισμό proxy του JDK Socket. Ελέγξτε τον πραγματικό πελάτη Kafka και την ενσωμάτωση δικτύου αντί να υποθέτετε ότι κάθε socket Java σέβεται την ίδια ρύθμιση.

Ένας πελάτης που γνωρίζει το proxy χρειάζεται επιτρεπόμενη διαδρομή προς τα σχετικά τελικά σημεία broker. Μια διάταξη σε επίπεδο δικτύου χρειάζεται αντίστοιχη προσβασιμότητα και επίλυση ονομάτων. Πρόκειται για διαφορετικά σχέδια, και κανένα δεν παρέχεται απλώς καταγράφοντας ένα proxy ως διακομιστή bootstrap.

Κρατήστε χωριστές τις ρυθμίσεις πρωτοκόλλου ασφαλείας και ελέγχου ταυτότητας. Ένα proxy μπορεί να δημιουργήσει διαδρομή TCP ενώ η ταυτότητα TLS, ο έλεγχος ταυτότητας SASL ή η εξουσιοδότηση broker εξακολουθούν να αποτυγχάνουν.

Για τη διάγνωση, σημειώστε ποιο τελικό σημείο απέτυχε και αν προήλθε από στατική ρύθμιση ή από μεταδεδομένα που επιστράφηκαν. Αυτή η διάκριση περιορίζει το πρόβλημα πολύ περισσότερο από την επανειλημμένη αλλαγή ενός τελικού σημείου που ήταν ήδη προσβάσιμο.

Σχετικά άρθρα