मैं तेजी से सुन रहा हूँ कि तुलना में पायथन ट्विस्टेड फ्रेमवर्क रॉक्स और अन्य फ्रेमवर्क पीला है।
क्या कोई इस पर कुछ प्रकाश डाल सकता है और संभवतः अन्य नेटवर्क प्रोग्रामिंग रूपरेखाओं के साथ मुड़ की तुलना कर सकता है।
मैं तेजी से सुन रहा हूँ कि तुलना में पायथन ट्विस्टेड फ्रेमवर्क रॉक्स और अन्य फ्रेमवर्क पीला है।
क्या कोई इस पर कुछ प्रकाश डाल सकता है और संभवतः अन्य नेटवर्क प्रोग्रामिंग रूपरेखाओं के साथ मुड़ की तुलना कर सकता है।
gevent
"ज्योतिषी" आवेदन के लिए मुड़ लिए एक विकल्प है blip.tv/file/4883016
जवाबों:
ट्विस्टेड के कई अलग-अलग पहलू हैं जो आपको अच्छे लग सकते हैं।
ट्विस्टेड में बहुत सारे और बहुत सारे प्रोटोकॉल कार्यान्वयन शामिल हैं, जिसका अर्थ है कि एक एपीआई नहीं होने से अधिक संभावना है कि आप कुछ दूरस्थ प्रणाली (या तो ज्यादातर मामलों में क्लाइंट या सर्वर) से बात करने के लिए उपयोग कर सकते हैं - यह HTTP , FTP , SMTP, POP3, IMAP4 हो , डीएनएस , आईआरसी, एमएसएन, ऑस्कर, XMPP / अस्पष्ट , टेलनेट, SSH , एसएसएल, NNTP , या में से एक वास्तव में फिंगर, या अध्यक्ष, या की तरह निचले स्तर प्रोटोकॉल निर्माण-प्रोटोकॉल से एक की तरह अस्पष्ट प्रोटोकॉल डीजेबी के netstrings , सरल लाइन-ओरिएंटेड प्रोटोकॉल या पर्सपेक्टिव ब्रोकर (PB) जैसे ट्विस्टेड के कस्टम प्रोटोकॉल में से एक याएसिंक्रोनस मैसेजिंग प्रोटोकॉल (एएमपी) ।
ट्विस्टेड के बारे में एक और अच्छी बात यह है कि इन निम्न-स्तरीय प्रोटोकॉल कार्यान्वयन के शीर्ष पर, आपको अक्सर एक अमूर्तता मिलेगी जो कुछ हद तक उपयोग करने में आसान है। उदाहरण के लिए, HTTP सर्वर लिखते समय, ट्विस्टेड वेब एक "रिसोर्स" एब्सट्रैक्शन प्रदान करता है, जिससे आप पायथन ऑब्जेक्ट्स से URL पदानुक्रम का निर्माण कर सकते हैं ताकि यह पता चले कि कैसे अनुरोधों का जवाब दिया जाएगा।
यह सब सहयोग करने वाले एपीआई के साथ एक साथ जुड़ा हुआ है, मुख्य रूप से इस तथ्य के कारण कि नेटवर्क पर अवरुद्ध करके इस कार्यक्षमता में से कोई भी लागू नहीं है, इसलिए आपको हर उस ऑपरेशन के लिए एक धागा शुरू करने की आवश्यकता नहीं है जिसे आप करना चाहते हैं । यह स्केलेबिलिटी में योगदान देता है जिसे लोग अक्सर ट्विस्टेड कहते हैं (हालांकि यह स्केलेबिलिटी का एक प्रकार है जिसमें केवल एक ही कंप्यूटर शामिल होता है, न कि स्केलेबिलिटी जो आपके एप्लिकेशन को मेजबानों के पूरे क्लस्टर का उपयोग करने देता है) क्योंकि ट्विस्टेड हजारों को हैंडल कर सकता है एक ही धागे में कनेक्शन, जो हजारों धागे होने से बेहतर काम करता है, प्रत्येक एक कनेक्शन के लिए।
थ्रेडिंग से परहेज परीक्षण और डिबगिंग (और इसलिए सामान्य रूप से विश्वसनीयता) के लिए भी फायदेमंद है। चूँकि किसी विशिष्ट ट्विस्ट-आधारित प्रोग्राम में कोई पूर्व-खाली संदर्भ स्विच नहीं होता है, इसलिए आपको आमतौर पर लॉकिंग के बारे में चिंता करने की आवश्यकता नहीं होती है। रेस की स्थितियां जो विभिन्न नेटवर्क घटनाओं के क्रम पर निर्भर करती हैं, उन नेटवर्क घटनाओं का अनुकरण करके आसानी से परीक्षण किया जा सकता है (जबकि एक संदर्भ स्विच का अनुकरण अधिकांश (किसी भी?) थ्रेडिंग लाइब्रेरी द्वारा प्रदान की गई सुविधा नहीं है)।
मुड़ भी वास्तव में है, वास्तव में गुणवत्ता के साथ संबंध है । तो आप शायद ही कभी एक मुड़ रिलीज में प्रतिगमन पाएं, और अधिकांश एपीआई बस काम करते हैं, भले ही आप उन्हें सामान्य तरीके से उपयोग न कर रहे हों (क्योंकि हम उन सभी तरीकों का परीक्षण करने का प्रयास करते हैं जो आप उनका उपयोग कर सकते हैं, केवल आम नहीं। मार्ग)। यह पिछले 3 या 4 वर्षों में ट्विस्टेड (या संशोधित) में जोड़े गए सभी कोड के लिए विशेष रूप से सच है, क्योंकि 100% लाइन कवरेज तब से न्यूनतम परीक्षण आवश्यकता है।
ट्विस्टेड की एक और अक्सर अनदेखी की गई ताकत इसके अलग-अलग प्लेटफ़ॉर्म क्विर्क का अनुमान लगाने के दस साल है । विभिन्न प्लेटफार्मों पर बहुत सी अनजाने सॉकेट त्रुटियां हैं और यह सीखना बहुत मुश्किल है कि वे भी मौजूद हैं, अकेले उन्हें संभालने दें। मुड़ ने धीरे-धीरे इनमें से अधिक को कवर किया है, और इस बिंदु पर इसके बारे में बहुत अच्छा है। छोटी परियोजनाओं में यह अनुभव नहीं होता है, इसलिए वे अस्पष्ट विफलता मोड को याद करते हैं जो संभवतः आपके द्वारा जारी किसी भी परियोजना के उपयोगकर्ताओं के लिए होगा, न कि आपके लिए।
सब जो कहते हैं, मुझे ट्विस्टेड के बारे में सबसे अच्छा लगता है वह यह है कि यह एक बहुत उबाऊ पुस्तकालय है जो मुझे बहुत उबाऊ समस्याओं की अनदेखी करता है और सिर्फ दिलचस्प और मजेदार चीजों पर ध्यान केंद्रित करता है। :)
वैसे यह शायद स्वाद के अनुसार है।
मुड़ आपको आसानी से ईवेंट संचालित नेटवर्क सर्वर / क्लाइंट बनाने की अनुमति देता है, जो वास्तव में सब कुछ के बारे में चिंता किए बिना यह पूरा करने में जाता है। और एमआईटी लाइसेंस के लिए धन्यवाद , ट्विस्टेड का उपयोग लगभग कहीं भी किया जा सकता है। लेकिन मैंने कोई बेंचमार्किंग नहीं की है इसलिए मुझे नहीं पता कि यह कैसे तराजू है, लेकिन मैं काफी अच्छा अनुमान लगा रहा हूं।
एक और प्लस होगा ट्विस्टेड प्रोजेक्ट्स , जिसके साथ आप जल्दी से देख सकते हैं कि अधिकांश सर्वर / सेवाओं को कैसे लागू किया जाए, जो आप करना चाहते हैं।
ट्विस्टेड के पास कुछ महान दस्तावेज भी हैं , जब मैंने इसके साथ कुछ हफ़्ते पहले शुरू किया था, तो मैं जल्दी से एक कामकाजी प्रोटोटाइप प्राप्त करने में सक्षम था।
अजगर दृश्य के लिए काफी नया मुझे सही अगर मैं गलत में हूँ।