gRPC-Go: WithNoProxy ဖြင့် ပရောက်စီ ရှာဖွေမှုကို ကျော်လွှားခြင်း
အတွင်းပိုင်း ClientConn အတွက် grpc.WithNoProxy ကို အသုံးပြုပြီး ရည်ရွယ်ထားသော transport credentials ကို ထိန်းသိမ်းပါ။
အတွင်းပိုင်း 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 ကို ကိုင်တွယ်ပြီး ပုံမှန် client ဘဝသံသရာဖြင့် conn ကို ပိတ်ပါ။
WithNoProxy သည် ဤ ClientConn အတွက် ပရောက်စီ အသုံးပြုမှုကို ပိတ်သည်။ အခြား client များနှင့် process ၏ ပရောက်စီ ပတ်ဝန်းကျင်ကို မပြောင်းလဲဘဲ ထားသည်။ ဆိုက်ရောက်ရာနေရာသည် အက်ပ်၏ ကွန်ရက်မှ တိုက်ရိုက် ရောက်ရှိနိုင်ရမည်။
WithDialer သို့မဟုတ် WithContextDialer က စိတ်ကြိုက် ချိတ်ဆက်လမ်းကို ပေးသောအခါ ဤရွေးချယ်စရာကို လျစ်လျူရှုသည်။ လမ်းကြောင်း ဆုံးဖြတ်ချက်များသည် ထို dialer ၏ လက်ထဲတွင် ရှိသည်။ အထက်တန်း API ကို စမ်းသပ်ဆဲအဖြစ် မှတ်သားထားသောကြောင့် တပ်ဆင်ထားသော grpc-go ဗားရှင်းနှင့် စစ်ဆေးပါ။
NewClient သည် ကွန်ရက် ချိတ်ဆက်မှု အောင်မြင်ကြောင်း မသက်သေပြဘဲ client ချန်နယ်ကို ဖန်တီးသည်။ နောက်ဆက်တွဲ RPC သို့မဟုတ် ချိတ်ဆက်မှု အခြေအနေ ရလဒ်က ထို အထောက်အထားကို ပေးသည်။ ပရောက်စီကို ကျော်လွှားရန် TLS ကို ပိတ်ရန် မလိုအပ်ပါ။