2012-04-14 8 views
8

इस समय मेरे पास एक समाधान है जो प्रोटोकॉल बफर पेलोड का आदान-प्रदान करने के लिए ज़ीरोएमक्यू का उपयोग करता है। क्रमबद्धता के प्रोटोकॉल बफर विधि के रूप में रहने के लिए बाध्य है, लेकिन मैं ZMQ को एक और सुविधाजनक विकल्प के साथ प्रतिस्थापित कर सकता हूं। जेएमएमक्यू में जिन चीजों के बारे में मैं खुश नहीं हूं वे हैं:प्रोटोकॉल बफर पेलोड को स्थानांतरित करने के लिए ज़ीरोएमक्यू के विकल्प क्या हैं?

यह जावा पक्ष पर जेएनआई का उपयोग करता है, और मुझे जटिल, बहु थ्रेड परिदृश्यों में जेएनआई द्वारा पहले काटा गया है। जब भी मैं कर सकता हूं इसे खत्म करने की कोशिश करता हूं।

मुझे क्यूइंग की आवश्यकता नहीं है, मुझे बस आरपीसी की आवश्यकता है।

मेरे आवश्यकताओं (जो ज्यादातर ZeroMQ के अंतर्गत आते हैं) कर रहे हैं:

  • 32/64 के लिए समर्थन बिट * nix, विंडोज, MacOS।

  • जावा, सी ++ और सी # के लिए समर्थन मुख्य रूप से, और पायथन, रूबी इत्यादि अच्छा होगा।

  • भाषा समर्थन देशी भाषा को लपेटकर नहीं, भाषा में मूल कार्यान्वयन द्वारा प्रदान किया जाना चाहिए।

  • उच्च प्रदर्शन।

  • गैर वायरल लाइसेंस, कोई जीपीएल, AGPL आदि

  • मैं (मैं यह है कि समर्थन करता है, लगता है) टीसीपी से अधिक परिवहन परत के रूप में बचत का उपयोग कर प्रोटोकॉल बफ़र्स पेलोड के साथ के बारे में सोच रहा हूँ, अगर अपने जावा कार्यान्वयन संदेश के लिए जेएनआई का उपयोग नहीं कर रहा है।

इस सेटअप के लिए आप ZMQ के अलावा अन्य विकल्पों के बारे में क्या सोच सकते हैं?

+1

क्या आपने थ्रिफ्ट पर बारीकी से देखा है? पिछली बार मैंने इसे देखा, यह नहीं किया -just- परिवहन: यह प्रोटोकॉल बफर (प्लस परिवहन) के लिए * प्रतिस्थापन * है। –

+1

यह स्पष्ट नहीं है कि आपको वास्तव में 0mq से क्या चाहिए। यह बहुत सामान्य है (लगभग सीधे सॉकेट की तरह दिखता है), इसलिए इसमें बहुत सारे गोरंड शामिल हैं। आप कतार की तलाश में हैं? आरपीसी? –

+0

@ ग्रेगकोफ: मैं इस प्रोजेक्ट में प्रोटोकॉल बफर को प्रतिस्थापित नहीं कर सकता। इसे धारावाहिकरण के लिए उपयोग किया जाना चाहिए, इससे कोई फर्क नहीं पड़ता कि परिवहन विधि – mahonya

उत्तर

7

क्या आपने Storm या Spread जैसे कुछ माना है?

+0

धन्यवाद, दोनों काफी रोचक हैं। मेरे देखने के लिए ये नए विकल्प हैं। – mahonya

+7

ध्यान दें कि तूफान वास्तव में ज़ीरोएमक्यू को अपने परिवहन के रूप में उपयोग करता है, इसलिए यदि आप ज़ीरोएमक्यू को प्रतिस्थापित करना चाहते हैं तो एक विकल्प नहीं है। स्प्रेड सुझाव के लिए – gb96

+0

+1। – hroptatyr

10

आपको शायद Netty पर एक नज़र रखना चाहिए। यह प्रोटोकॉल बफर के लिए अंतर्निहित समर्थन के साथ एक उच्च प्रदर्शन जावा एनआईओ सर्वर ढांचा है जिसे अपाचे लाइसेंस की शर्तों के तहत जारी किया गया है। ढांचा अच्छी तरह से documented है और कुछ examples प्रोटोकॉल बफर के साथ प्रोटोकॉल प्रोटोटाइप करने का तरीका दिखाते हैं।

0

मूल प्रश्न पूछा गया था कि JeroMQ को गीथब पर रखा गया था। यह ज़ीरोएमक्यू का शुद्ध-जावा कार्यान्वयन है। इसने मध्यवर्ती वर्षों में निरंतर विकास देखा है और सी-कार्यान्वयन के लिए comparable in speed लगता है।

संबंधित मुद्दे