თუ შიდა gRPC სერვისზე პირდაპირ უნდა მოხდეს წვდომა, gRPC-Go ამ მარშრუტისთვის კავშირის ვარიანტს გვთავაზობს:

conn, err := grpc.NewClient(
    "dns:///rpc.internal.example:443",
    grpc.WithTransportCredentials(transportCredentials),
    grpc.WithNoProxy(),
)

grpc-ის იმპორტია google.golang.org/grpc. transportCredentials არის აპლიკაციის არსებული credentials.TransportCredentials კონფიგურაცია. დაამუშავეთ err და დახურეთ conn კლიენტის ჩვეულებრივი სასიცოცხლო ციკლით.

WithNoProxy გამორთავს პროქსის გამოყენებას ამ ClientConn-ისთვის. ის უცვლელად ტოვებს სხვა კლიენტებს და პროცესის პროქსის გარემოს. დანიშნულება აპლიკაციის ქსელიდან პირდაპირ უნდა იყოს ხელმისაწვდომი.

ვარიანტი იგნორირდება, როცა WithDialer ან WithContextDialer მორგებულ კავშირის გზას გვაწვდის; მარშრუტიზაციის გადაწყვეტილებები ამ dialer-ს ეკუთვნის. ზედა დონის API ექსპერიმენტულადაა მონიშნული, ამიტომ შეამოწმეთ ის დაყენებულ grpc-go ვერსიასთან.

NewClient ქმნის კლიენტის არხს იმის დამტკიცების გარეშე, რომ ქსელური კავშირი შედგა. შემდგომი RPC ან კავშირის მდგომარეობის შედეგი იძლევა ამ მტკიცებულებას. პროქსის გვერდის ავლა TLS-ის გამორთვას არ მოითხოვს.

დაკავშირებული სტატიები