सर्वर बनाना और चलाना

सर्वर आपके वेब एप्लिकेशन का हृदय होता है। Hyperlane उन्हें बनाना और प्रबंधित करना आसान बनाता है। आप अपनी आवश्यकताओं के आधार पर गति और नियंत्रण के बीच चयन कर सकते हैं।

सर्वर बनाने के तीन तरीके:

• त्वरित सेटअप के लिए Server::default() का उपयोग करें। यह टेस्टिंग या सरल ऐप्स के लिए सबसे अच्छा है। यह एड्रेस और लिमिट के लिए पूर्व-निर्धारित (preset) सेटिंग्स का उपयोग करता है। • पूर्ण नियंत्रण के लिए ServerConfig का उपयोग करें। यह आपको बाइंड एड्रेस (bind address), TCP ऑप्शंस, या TTL बदलने की अनुमति देता है। • रिक्वेस्ट विवरण प्रबंधित करने के लिए RequestConfig का उपयोग करें। यह बफर साइज और टाइमआउट को एडजस्ट करने के लिए सबसे अच्छा है।

लाइफसाइकिल (lifecycle) का प्रबंधन करना:

एक बार जब आप run() मेथड के साथ सर्वर शुरू कर देते हैं, तो आपको एक ServerControlHook मिलता है। यह टूल आपको दो मुख्य विकल्प देता है:

  • wait(): यह सर्वर को तब तक चालू रखता है जब तक आप इसे रोक नहीं देते। प्रोग्राम को बंद होने से रोकने के लिए अपने मुख्य (main) फंक्शन के अंत में इसका उपयोग करें।
  • shutdown(): यह सर्वर को सुचारू रूप से (gracefully) रोकता है। यह बंद होने से पहले वर्तमान रिक्वेस्ट को पूरा करता है। यह प्रोडक्शन (production) में डेटा हानि को रोकता है।

उन्नत विकल्प (Advanced options):

Hyperlane कोड को सरल बनाने के लिए attribute macros का उपयोग करता है। आप सीधे अपने फंक्शन्स में सर्वर वेरिएबल्स इंजेक्ट कर सकते हैं। यह आपके सेटअप को अधिक स्वच्छ और डिक्लेरेटिव (declarative) बनाता है।

आप एक साथ कई सर्वर भी चला सकते हैं। अलग-अलग पोर्ट्स पर अलग-अलग ऐप्स चलाने के लिए Tokio का उपयोग करें। यह इनके लिए अच्छा काम करता है:

  • अलग-अलग पोर्ट्स पर HTTP और HTTPS चलाना।
  • अलग-अलग API वर्ज़न सर्व करना।
  • एक ही प्रोसेस में माइक्रोसर्विसेज (microservices) को होस्ट करना।
  • मुख्य ऐप्स को हेल्थ चेक (health checks) से अलग करना।

सर्वर शुरू करते समय हमेशा एरर्स (errors) को हैंडल करें। सामान्य समस्याओं में ऑक्यूपाइड पोर्ट्स (occupied ports) या परमिशन एरर्स शामिल हैं। यह सुनिश्चित करने के लिए अपने परिणामों की जाँच करें कि आपका एप्लिकेशन स्थिर रहे।

Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/creating-and-running-a-server-5ama