लक्ष्य एक परिवहन और अनुप्रयोग परत प्रोटोकॉल शुरू करना है जो इसकी विलंबता और नेटवर्क थ्रूपुट में बेहतर है । वर्तमान में, एप्लिकेशन HTTP / 1.1 के साथ REST का उपयोग करता है और हम एक उच्च विलंबता का अनुभव करते हैं। मुझे इस विलंबता समस्या को हल करने की आवश्यकता है और मैं gRPC (HTTP / 2) या REST / HTTP2 का उपयोग करने के लिए खुला हूं ।
HTTP / 2:
- मल्टिप्लेक्स
- सिंगल टीसीपी कनेक्शन
- पाठ के बजाय द्विआधारी
- हैडर सम्पीडन
- सर्वर पुश
उपरोक्त सभी फायदों से मैं अवगत हूँ। प्रश्न नंबर 1: अगर मैं HTTP / 2 के साथ REST का उपयोग करता हूं, तो मुझे यकीन है, HTTP / 1.1 के साथ REST की तुलना में मुझे एक महत्वपूर्ण प्रदर्शन में सुधार होगा , लेकिन यह gRPC (HTTP / 2) के साथ तुलना कैसे करता है ?
मुझे यह भी पता है कि जीआरपीसी प्रोटो बफर का उपयोग करता है, जो तार पर संरचित डेटा के संचरण के लिए सबसे अच्छा द्विआधारी क्रमांकन तकनीक है। प्रोटो बफर भी एक भाषा अज्ञेय दृष्टिकोण विकसित करने में मदद करता है। मैं इससे सहमत हूं और मैं ग्राफ़कॉक का उपयोग करके REST में समान सुविधा को लागू कर सकता हूं। लेकिन मेरी चिंता सीरियलाइजेशन पर है: प्रश्न संख्या 2: जब HTTP / 2 इस बाइनरी फीचर को लागू करता है, तो क्या प्रोटॉफ बफर का उपयोग करने से HTTP / 2 के ऊपर अतिरिक्त लाभ मिलता है?
प्रश्न संख्या 3: स्ट्रीमिंग के संदर्भ में , द्वि-दिशात्मक उपयोग-मामलों , gRPC (HTTP / 2) की तुलना (REST और HTTP / 2) के साथ कैसे की जाती है?
इंटरनेट में बहुत सारे ब्लॉग / वीडियो हैं जो इस तरह (REST और HTTP / 1.1) के साथ gRPC (HTTP / 2) की तुलना करते हैं । जैसा कि पहले कहा गया था, मैं जीआरपीसी (एचटीटीपी / 2) और (आरईएसटी / एचटीटीपी / 2 के साथ तुलना करने पर) अंतर जानना चाहता हूं।