आरपीसी फ्रेमवर्क और अपाचे थ्रिफ्ट क्या है?


101

मुझे विश्वविद्यालय की एक परियोजना के लिए अपाचे थ्रिफ्ट सीखने की आवश्यकता है । जैसा कि यह ट्यूटोरियल कहता है, यह एक आरपीसी फ्रेमवर्क है, और यह एकमात्र दस्तावेज था जिसे मैं उनके दस्तावेज़ के अलावा थ्रिफ्ट के लिए खोज सकता था ।

क्या कोई मुझे बता सकता है कि आरपीसी फ्रेमवर्क क्या है और यह अपाचे थ्रिफ़्ट से कैसे संबंधित है?

जवाबों:


159

सामान्य रूप से एक RPC फ्रेमवर्क एक उपकरण है, जो प्रोग्रामर को दूरस्थ प्रक्रिया में कोड के एक टुकड़े को कॉल करने में सक्षम बनाता है, चाहे वह एक अलग मशीन पर हो या उसी मशीन पर कोई अन्य प्रक्रिया हो।

अपाचे थ्रिफ्ट के विशेष मामले में , हम कुशल होने के लिए डिज़ाइन किए गए ढांचे के बारे में बात करते हैं, और ओएस प्लेटफार्मों और प्रोग्रामिंग भाषाओं दोनों में उपलब्ध हैं। इसके अतिरिक्त, आपके पास परिवहन (जैसे सॉकेट, पाइप, आदि) और प्रोटोकॉल (बाइनरी, JSON, यहां तक ​​कि संपीड़ित) के बारे में कुछ लचीलापन है, साथ ही एसएसएल या एसएएसएल समर्थन जैसे कुछ और विकल्प भी हैं।

उदाहरण के लिए , आप C ++ में लिखे लिनक्स मशीन पर एक सर्वर सेट कर सकते हैं, जो HTTP पर JSON- आधारित प्रोटोकॉल के माध्यम से दुनिया को कुछ सेवा प्रदान करता है। इस सेवा को एक विंडोज़ मशीन पर चलने वाले पायथन में लिखे क्लाइंट प्रोग्राम द्वारा बुलाया जा सकता है। सर्वर और क्लाइंट दोनों के लिए कोड एक थ्रिफ्ट आईडीएल फ़ाइल से उत्पन्न होता है। इसे चालू करने के लिए, आपको मूल रूप से केवल इच्छित प्रोग्राम लॉजिक जोड़ना होगा और सभी टुकड़ों को एक साथ रखना होगा।

Apache Thrift के लिए सबसे अच्छा संदर्भ अभी भी Apache Thrift Whitepaper है । हालांकि कुछ विवरणों में थोड़ा पुराना है, अंडरलिंग अवधारणाएं अभी भी मान्य हैं। एक और अच्छी तरह से पढ़े जाने वाले लेखक दिवाकर गुप्ता की "मिसिंग गाइड" है , और रैंडी एबरनेथी की आगामी पुस्तक नहीं है ।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.