सर्व्हर तयार करणे आणि चालवणे

सर्व्हर हा तुमच्या वेब ॲप्लिकेशनचा कणा असतो. Hyperlane द्वारे ते तयार करणे आणि व्यवस्थापित करणे सोपे होते. तुमच्या गरजेनुसार तुम्ही वेग (speed) आणि नियंत्रण (control) यांपैकी निवड करू शकता.

सर्व्हर तयार करण्याचे तीन मार्ग:

• जलद सेटअपसाठी Server::default() वापरा. हे टेस्टिंग किंवा साध्या ॲप्ससाठी सर्वोत्तम आहे. हे ॲड्रेस आणि मर्यादांसाठी (limits) पूर्व-निर्धारित सेटिंग्ज वापरते. • पूर्ण नियंत्रणासाठी ServerConfig वापरा. यामुळे तुम्ही bind address, TCP options किंवा TTL बदलू शकता. • विनंतीचा (request) तपशील व्यवस्थापित करण्यासाठी RequestConfig वापरा. बफर आकार (buffer sizes) आणि टाइमआउट (timeouts) समायोजित करण्यासाठी हे सर्वोत्तम आहे.

लाइफसायकल (lifecycle) व्यवस्थापित करणे:

एकदा तुम्ही run() मेथडने सर्व्हर सुरू केला की, तुम्हाला ServerControlHook मिळते. हे टूल तुम्हाला दोन मुख्य पर्याय देते:

  • wait(): जोपर्यंत तुम्ही सर्व्हर थांबवत नाही, तोपर्यंत हे त्याला चालू ठेवते. प्रोग्राम आपोआप बंद होऊ नये म्हणून तुमच्या main function च्या शेवटी याचा वापर करा.
  • shutdown(): हे सर्व्हरला व्यवस्थितपणे (gracefully) थांबवते. बंद होण्यापूर्वी ते चालू असलेल्या विनंत्या (requests) पूर्ण करते. यामुळे प्रोडक्शनमध्ये डेटा गमावण्याचा धोका टळतो.

प्रगत पर्याय (Advanced options):

कोड सोपा करण्यासाठी Hyperlane attribute macros चा वापर करते. तुम्ही सर्व्हर व्हेरिएबल्स थेट तुमच्या फंक्शन्समध्ये समाविष्ट (inject) करू शकता. यामुळे तुमचा सेटअप अधिक सुटसुटीत आणि डिक्लेरेटिव्ह (declarative) होतो.

तुम्ही एकाच वेळी अनेक सर्व्हर देखील चालवू शकता. वेगवेगळ्या पोर्ट्सवर वेगवेगळे ॲप्स चालवण्यासाठी Tokio वापरा. हे खालील गोष्टींसाठी उपयुक्त आहे:

  • वेगवेगळ्या पोर्ट्सवर HTTP आणि HTTPS चालवणे.
  • वेगवेगळ्या API व्हर्जनची सेवा देणे.
  • एकाच प्रोसेसमध्ये मायक्रोसर्व्हिसेस (microservices) होस्ट करणे.
  • मुख्य ॲप्सना हेल्थ चेकपासून (health checks) वेगळे करणे.

सर्व्हर सुरू करताना नेहमी एरर्स (errors) हाताळा. ऑक्युपाइड पोर्ट्स (occupied ports) किंवा परमिशन एरर्स (permission errors) यांसारख्या सामान्य समस्या असू शकतात. तुमचे ॲप्लिकेशन स्थिर राहील याची खात्री करण्यासाठी तुमचे रिझल्ट्स तपासा.

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