gRPC-Go: παράκαμψη της ανακάλυψης διακομιστή μεσολάβησης με WithNoProxy
Χρησιμοποιήστε το grpc.WithNoProxy για ένα εσωτερικό ClientConn διατηρώντας τα προβλεπόμενα transport credentials.
Αν μια εσωτερική υπηρεσία gRPC πρέπει να προσεγγιστεί απευθείας, το gRPC-Go παρέχει μια επιλογή σύνδεσης για αυτή τη διαδρομή:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
Το grpc import είναι το google.golang.org/grpc. Το transportCredentials είναι η υπάρχουσα ρύθμιση credentials.TransportCredentials της εφαρμογής. Χειριστείτε το err και κλείστε το conn μέσω του κανονικού κύκλου ζωής του πελάτη.
Το WithNoProxy απενεργοποιεί τη χρήση διακομιστή μεσολάβησης για αυτό το ClientConn. Αφήνει τους άλλους πελάτες και το περιβάλλον μεσολάβησης της διεργασίας αμετάβλητα. Ο προορισμός πρέπει να είναι άμεσα προσβάσιμος από το δίκτυο της εφαρμογής.
Η επιλογή αγνοείται όταν το WithDialer ή το WithContextDialer παρέχει προσαρμοσμένη διαδρομή σύνδεσης· εκείνο το dialer κατέχει τις αποφάσεις δρομολόγησης. Το upstream API επισημαίνεται ως πειραματικό, επομένως ελέγξτε το με την εγκατεστημένη έκδοση grpc-go.
Το NewClient δημιουργεί ένα κανάλι πελάτη χωρίς να αποδεικνύει ότι μια δικτυακή σύνδεση πέτυχε. Το επόμενο RPC ή το αποτέλεσμα κατάστασης σύνδεσης παρέχει αυτή την απόδειξη. Η παράκαμψη μεσολάβησης δεν απαιτεί απενεργοποίηση του TLS.