2009-03-09 9 views
11

मैं देख सकता हूं कि राज्यव्यापी प्रोटोकॉल कुकीज जैसी 'नकली स्थिति' के साथ कम बॉट किए जाते हैं।स्टेटलेस प्रोटोकॉल पर स्टेटलेस प्रोटोकॉल का उपयोग बेहतर माना जाता है?

लेकिन परीक्षण सुनिश्चित करने के लिए अपने कार्यान्वयन सही है और पुन: कनेक्ट हो, और सत्र निरंतरता बहुत संभाल करने के लिए मुश्किल हो सकता है कि एक बहुत कठिन हो जाता है।

क्या यह हमेशा स्टेटलेस प्रोटोकॉल का उपयोग करने के लिए बेहतर अभ्यास माना जाता है, या यह वास्तव में डोमेन विशिष्ट है?

मुझे लगता है कि प्रमाणीकरण जब स्टेटफुल प्रोटोकॉल के साथ काम आसान हो जाता है, लेकिन वहाँ किसी भी अन्य कारणों से आप एक स्टेटफुल प्रोटोकॉल का उपयोग करना चाहिए रहे हैं?

उत्तर

8

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

वे वास्तव में विभिन्न नौकरियों के लिए विभिन्न उपकरण हैं, लेकिन यह उस दिशा में देखने के लिए आपके पास विकल्प है जब तार्किक है ऑनलाइन आसानी और राज्यविहीन प्रौद्योगिकियों की सर्वव्यापकता दिया।

2

एक और अच्छी बात यह है राज्यविहीन प्रोटोकॉल के साथ है कि यह सर्वर विफलता स्थितियों और/या क्लस्टरिंग/लोड-संतुलन स्थितियों को संभालने के लिए आसान है है।

3

एक स्टेटलेस प्रोटोकॉल क्लस्टर के लिए आसान है क्योंकि बाद के अनुरोधों पर राज्य को किसी सर्वर से दूसरे सर्वर में स्थानांतरित करने की आवश्यकता नहीं होती है। राज्यविहीन की

13

लाभ:

  1. उच्च scalability(आप, आप किसी भी समय नोड्स जोड़ सकते हैं किसी भी नोड के लिए अनुरोध भेज सकते हैं कर सकते हैं)
  2. उच्च उपलब्धता(अगर एक नोड विफल रहता है, खोने वाला कोई भी राज्य नहीं है, बस किसी अन्य नोड के लिए अनुरोध भेज दें)
  3. हाई स्पीड(जैसा कि कोई राज्य नहीं है, परिणाम कैशेबल हैं)
+0

कैशिंग के बारे में महान बिंदु। –

+1

हाँ, कई पीपीएल इसे आरईएसटी – vartec

9

मैं इसे डोमेन विशिष्ट मानता हूं। यदि आप पिंग के नैतिक समकक्ष लिख रहे हैं, तो एक स्टेटलेस प्रोटोकॉल सही विकल्प है। दूसरी तरफ, यदि आप एक वीएनसी लिख रहे हैं, तो निश्चित रूप से जाने का तरीका निश्चित है।

किसके लिए चुनने के लिए, दो बिंदुओं को ध्यान में रखना है। सबसे पहले, जबकि कार्यान्वयन विकल्प या तो हैं, या समस्या स्थान एक निरंतरता है। सभी असली दुनिया के कार्यों में कम से कम एक छोटा सा राज्य होता है, सवाल यह है कि यह दोनों सिरों पर इसे ट्रैक करने की परेशानी के लायक होने के आसपास कितना और ओवरहेड है। और दूसरा, आप आम तौर पर प्रोटोकॉल स्टैक से निपट रहे हैं, न कि एक प्रोटोकॉल; यह सुनिश्चित करना कि सही स्तर पर सबकुछ जीवन भर में चीजों को सरल बना सकता है।

1

राज्य बेहतर है। तब आपको हर समय राज्य भेजने की ज़रूरत नहीं है। प्रोटोकॉल तब आसान हो जाता है।

+2

की मिठाई बिंदु मानते हैं, यह संभावना नहीं है कि वेब स्केल करने में सक्षम होगा HTTP HTTP स्टेटस था। –

+0

@ सारा: यह बिंदु केवल तभी खड़ा है जब राज्य हेवीवेट है। – Brann

+1

बताना मुश्किल है। अगर भगवान को भगवान के रास्ते में हल किया गया तो हमारे पास बहुत बेहतर आवेदन हो सकते थे। फिलहाल सभी framworks राज्य गुजरने छिपाने की कोशिश करता है। मुझे नहीं पता कि कोई सफल हुआ है या नहीं। लेकिन इसमें कम से कम 10 साल लगे। :) – Flinkman

3

मैं स्टेटस बनाम स्टेटस के सभी डिजाइन मुद्दों से व्यक्तिगत रूप से परिचित नहीं हूं, लेकिन मुझे पता है कि एनएफएसवी 4 एनएफएस के पिछले संस्करणों के 15 साल के मूल्यवान होने के बाद राज्यव्यापी है, इसलिए जाहिर है कि स्टेटलेसनेस एक महत्वपूर्ण सीमा बन गया है एनएफएस डिजाइनर।

कुछ मिनटों के गुगलिंग ने कई लेख और ब्लॉग एनएफएसवी 4 की स्थिति के बारे में बात करते हुए खुलासा किया; यह शामिल कुछ डिजाइन मुद्दों के लिए दिलचस्प पठन होना चाहिए।

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