GRPC REST से कैसे भिन्न है?




(2)

REST को JSON या HTTP / 1.1 की आवश्यकता नहीं है

आप HTTP / 2 पर प्रोटॉबॉफ़ संदेश (या जो भी) भेजते हैं, एक तुच्छ सेवा का निर्माण कर सकते हैं

आप RESTful सेवाओं का निर्माण कर सकते हैं जो JSON को HTTP / 2 पर भेजती हैं

आप RESTful सेवाओं का निर्माण कर सकते हैं जो HTTP / 1.1 पर प्रोटोबॉफ़ संदेश भेजती हैं

Restful सेवाएं HTTP / xx के शीर्ष पर "हैक" नहीं हैं, वे मूलभूत आर्किटेक्चर प्रिंसिपलों का अनुसरण करने वाली सेवाएं हैं जिन्होंने HTTP के किसी भी संस्करण को सफल बनाया है (जैसे GET अनुरोधों की कैशबिलिटी और PUT अनुरोधों की पुनरावृत्ति)।

जीआरपीसी, सोप, एट। अल हैक की तरह अधिक हैं - फ़ायरवॉल और फ़ायरफ़ॉक्स प्रतिबंध के आसपास मार्ग करने के लिए HTTP पर सुरंग RPC- शैली सेवाओं के लिए HTTP के शीर्ष पर हैक। जरूरी नहीं कि यह बुरी चीज हो। कभी-कभी आप REST के स्थान पर RPC- शैली सेवा चाहते हैं, और हम ऐसी दुनिया में रहते हैं जहाँ मिडबॉक्स को प्रतिस्थापित करना कठिन होता है।

यदि आपके पास REST की वास्तविक परिभाषा पर पढ़ने का समय नहीं है: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

हमेशा TLDR होता है; विकिपीडिया पर संस्करण:

https://en.wikipedia.org/wiki/Representational_state_transfer

यदि आपको RPC- शैली सेवा की आवश्यकता है, तो निश्चित रूप से, gRPC बढ़िया है। यदि आप वेब पर रहना चाहते हैं, या आप एक RESTful स्टाइल सेवा के साथ आने वाले सभी लाभों को चाहते हैं, तो एक RESTO शैली सेवा का निर्माण करें। और अगर यह आपकी बाकी सेवा में JSON प्रारूप में डेटा को क्रमांकित / डिस्क्रिअलाइज़ करने के लिए बहुत धीमा है, तो प्रोटोबॉफ़ या जो भी उपयोग करना पूरी तरह से ठीक है।

यदि gRPC किसी भी चीज का संस्करण 2 है, तो यह SOAP का संस्करण 2 है। एक जो भयानक नहीं है, सोप की तरह।

और, नहीं, आप अपने GET अनुरोध में सिर्फ "किसी भी फ़ंक्शन को कॉल नहीं कर सकते" और एक RESTful सेवा है।

एक आखिरी बात: यदि आप किसी RESTful सेवा पर प्रोटोबोफ़्स का उपयोग करने जा रहे हैं, तो कृपया इसे सही करें, सामग्री प्रकार हेडर इत्यादि का उपयोग करके, इसके साथ ही आप JSON और protobuf दोनों का आसानी से समर्थन कर सकते हैं।

अब मेरे SOAP बॉक्स से नीचे जा रहे हैं ..;)

मैं जीआरपीसी के इस स्पष्टीकरण को पढ़ रहा हूं और यह आरेख रुचि का है:

ट्रांसपोर्ट लेयर कैसे काम करता है? यदि यह नेटवर्क पर है ... तो इसे RPC क्यों कहा जाता है? इससे भी महत्वपूर्ण बात यह है कि यह REST से अलग कैसे है, जो सेवा-परत के लिए एपीआई लागू करता है (क्लाइंट में वर्ग जिसमें http अनुरोध करने के तरीके हैं)?


REST पर gRPC का सबसे बड़ा लाभ इसके HTTP / 2 का दादाजी HTTP 1.1 पर समर्थन है। तब HTTP 1.1 पर HTTP / 2 का सबसे बड़ा फायदा है, 'HTTP / 2 सर्वर को सामग्री को "पुश" करने की अनुमति देता है ...





grpc