Model Context Protocol Advanced Topics
← सभी पाठ
पाठ 09Model Context Protocol Advanced Topics

State and the StreamableHTTP transport

सारांश ऑडियो

इस पाठ के लिए कोई ऑडियो सारांश नहीं है।

अध्ययन नोट्स

MCP सर्वर फ्लैग्स: स्टेटलेस और JSON रिस्पॉन्स

**I. स्टेटलेस (Stateless) फ्लैग**

  • परिभाषा: जब इस फ्लैग को 'true' सेट किया जाता है, तो क्लाइंट को कोई सेशन आईडी (Session ID) नहीं मिलती।
  • मुख्य प्रभाव: सर्वर किसी क्लाइंट को ट्रैक नहीं कर सकता।
  • क्षैतिज स्केलिंग (Horizontal Scaling) में महत्व:
  • जब सर्वर को लोड बैलेंसर (Load Balancer) के पीछे कई कॉपी में चलाया जाता है, तो स्टेटलेस मोड समन्वय (coordination) की जटिलता को कम करता है।
  • यह सुनिश्चित करता है कि सर्वर को क्लाइंट की पिछली स्थिति याद रखने की आवश्यकता नहीं है।
  • नकारात्मक प्रभाव (Trade-offs):
  • सर्वर अब Git SSE रिस्पॉन्स पाथवे का उपयोग नहीं कर सकता।
  • सैंपलिंग (Sampling), प्रोग्रेस लॉगिंग (Progress Logging), और रिसोर्स सब्सक्रिप्शन जैसी सुविधाएँ काम नहीं करेंगी।
  • सकारात्मक प्रभाव:
  • सर्वर को क्लाइंट इनिशियलाइज़ेशन (Client Initialization) और नोटिफिकेशन के लिए दो अतिरिक्त रिक्वेस्ट भेजने की आवश्यकता नहीं होती, जिससे सर्वर पर ट्रैफिक कम होता है।

**II. JSON रिस्पॉन्स (JSON Response) फ्लैग**

  • परिभाषा: जब इस फ्लैग को 'true' सेट किया जाता है, तो क्लाइंट को भेजे गए पोस्ट रिक्वेस्ट (Post Requests) में स्ट्रीमिंग (Streaming) बंद हो जाती है।
  • मुख्य प्रभाव:
  • सर्वर क्लाइंट को कोई मध्यवर्ती (intermediate) संदेश या लॉग नहीं भेजता।
  • क्लाइंट को केवल अंतिम परिणाम (final result) एक ही प्लेन JSON फॉर्मेट में प्राप्त होता है।
  • यह तब उपयोगी है जब आपको तुरंत परिणाम चाहिए और स्ट्रीमिंग की आवश्यकता नहीं है।

**III. महत्वपूर्ण सुझाव**

  • विकास (Development) और उत्पादन (Production): सर्वर विकसित करते समय, हमेशा उस ट्रांसपोर्ट (Transport) का उपयोग करें जिसे आप उत्पादन में उपयोग करने की योजना बना रहे हैं (जैसे, स्ट्रीमएबल HTTP)।
  • निष्कर्ष: ये दोनों फ्लैग सर्वर के व्यवहार को मौलिक रूप से बदलते हैं, और इन्हें सेट करने का निर्णय एप्लिकेशन की स्केलेबिलिटी और आवश्यक सुविधाओं के आधार पर लिया जाना चाहिए।

Takeaways

  • स्टेटलेस फ्लैग 'true' होने पर क्लाइंट को कोई सेशन आईडी नहीं मिलती और सर्वर क्लाइंट को ट्रैक नहीं कर पाता।
  • स्टेटलेस मोड क्षैतिज स्केलिंग (Horizontal Scaling) में समन्वय की जटिलता को कम करता है, जिससे सर्वर को क्लाइंट की पिछली स्थिति याद रखने की आवश्यकता नहीं होती।
  • स्टेटलेस होने पर Git SSE रिस्पॉन्स पाथवे, सैंपलिंग और प्रोग्रेस लॉगिंग जैसी सुविधाएँ काम नहीं करेंगी।
  • JSON रिस्पॉन्स फ्लैग स्ट्रीमिंग को बंद कर देता है, जिससे क्लाइंट को केवल अंतिम परिणाम एक ही प्लेन JSON फॉर्मेट में प्राप्त होता है।
  • इन फ्लैग को सेट करने का निर्णय एप्लिकेशन की स्केलेबिलिटी और आवश्यक सुविधाओं की उपलब्धता के आधार पर लिया जाना चाहिए।
फ्लैशकार्ड 7 कार्ड
प्रश्न
प्रकट करने के लिए क्लिक करें · ←/→
उत्तर
वापस पलटने के लिए क्लिक करें
ज्ञान जाँच 0 प्रश्न

No quiz for this lesson yet.