जीआरपीसी के लिए .proto फ़ाइल लिखते समय मैंने देखा है कि मैं या तो कर सकता हूँ।

1) मेरे सभी संदेशों (अनुरोधों और प्रतिक्रियाओं) को सभी आरपीसीएस के साथ एक .proto फ़ाइल के अंदर शामिल करें।

2) प्रत्येक rpc को उसकी अपनी .proto फ़ाइल में लिखें।

मैं देख सकता हूं कि जब मेरे पास दो आरपीसीएस हैं जो एक ही संदेश तक पहुंचते हैं तो उसी फाइल में प्रोटोकॉल बफर लिखना अधिक सुविधाजनक होता है। हालाँकि, अधिक मॉड्यूलर दृष्टिकोण लेने के लिए जब संभव हो तो मैं उन्हें विभाजित करना पसंद करूंगा।

मेरा प्रश्न यह है कि क्या इन दोनों दृष्टिकोणों के बीच कोई दक्षता अंतर है वरीयता को अनदेखा करना इसके अलावा यहां सम्मेलन पर किसी भी जानकारी की सराहना की जाएगी।

नोट: मैं जीआरपीसी (सी ++ और जावा) का उपयोग कर रहा हूं, मुझे नहीं पता कि भाषा कार्यान्वयन का उत्तर के साथ कुछ लेना देना है या नहीं।

1
Zasekle 16 अप्रैल 2020, 02:00

1 उत्तर

सबसे बढ़िया उत्तर

दक्षता में कोई अंतर नहीं है। कुछ भाषाएं प्रोटो फ़ाइल नाम के आधार पर जेनरेट कोड आयात करती हैं, उदाहरण के लिए, सी ++ और जावा अगर option java_multiple_files = true सेट नहीं कर रहे हैं, तो अंतर .proto फाइलों के बाहर स्वयं दिखाई देता है। लेकिन प्रदर्शन को प्रभावित करने वाला कुछ भी नहीं है।

केवल सीमा यह है कि किसी सेवा के सभी तरीके एक फ़ाइल में होने चाहिए। लेकिन उन तरीकों के संदेश अभी भी अलग फाइलों में हो सकते हैं।

1
Eric Anderson 15 अप्रैल 2020, 23:41