𝗖𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗮𝗻𝗱 𝗥𝘂𝗻𝗻𝗶𝗻𝗴 𝗮 𝗦𝗲𝗿𝘃𝗲𝗿

ಸರ್ವರ್ ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ನ ಹೃದಯಭಾಗವಾಗಿದೆ. Hyperlane ಅವುಗಳನ್ನು ನಿರ್ಮಿಸುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ಅಗತ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ನೀವು ವೇಗ ಮತ್ತು ನಿಯಂತ್ರಣದ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಬಹುದು.

ಸರ್ವರ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಮೂರು ವಿಧಾನಗಳು:

• ಶೀಘ್ರ ಸೆಟಪ್‌ಗಾಗಿ Server::default() ಬಳಸಿ. ಇದು ಪರೀಕ್ಷೆ ಅಥವಾ ಸರಳ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಉತ್ತಮವಾಗಿದೆ. ಇದು ವಿಳಾಸಗಳು (addresses) ಮತ್ತು ಮಿತಿಗಳಿಗಾಗಿ (limits) ಮೊದಲೇ ನಿಗದಿಪಡಿಸಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. • ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ServerConfig ಬಳಸಿ. ಇದು ನಿಮಗೆ bind address, TCP options ಅಥವಾ TTL ಅನ್ನು ಬದಲಾಯಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. • ರಿಕ್ವೆಸ್ಟ್ ವಿವರಗಳನ್ನು ನಿರ್ವಹಿಸಲು RequestConfig ಬಳಸಿ. ಇದು ಬಫರ್ ಗಾತ್ರಗಳು (buffer sizes) ಮತ್ತು ಟೈಮೌಟ್‌ಗಳನ್ನು (timeouts) ಹೊಂದಾಣಿಕೆ ಮಾಡಲು ಉತ್ತಮವಾಗಿದೆ.

ಲೈಫ್‌ಸೈಕಲ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದು:

ನೀವು run() ಮೆಥಡ್‌ನೊಂದಿಗೆ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ನಿಮಗೆ ServerControlHook ಸಿಗುತ್ತದೆ. ಈ ಸಾಧನವು ನಿಮಗೆ ಎರಡು ಪ್ರಮುಖ ಆಯ್ಕೆಗಳನ್ನು ನೀಡುತ್ತದೆ:

  • wait(): ಇದು ನೀವು ನಿಲ್ಲಿಸುವವರೆಗೆ ಸರ್ವರ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತಲೇ ಇರುತ್ತದೆ. ಪ್ರೋಗ್ರಾಂ ಹೊರಬರದಂತೆ ತಡೆಯಲು ನಿಮ್ಮ main function ನ ಕೊನೆಯಲ್ಲಿ ಇದನ್ನು ಬಳಸಿ.
  • shutdown(): ಇದು ಸರ್ವರ್ ಅನ್ನು ಸುಗಮವಾಗಿ ನಿಲ್ಲಿಸುತ್ತದೆ. ಇದು ಮುಚ್ಚುವ ಮೊದಲು ಪ್ರಸ್ತುತ ರಿಕ್ವೆಸ್ಟ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ. ಇದು ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ ಡೇಟಾ ನಷ್ಟವನ್ನು ತಡೆಯುತ್ತದೆ.

ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು:

Hyperlane ಕೋಡ್ ಅನ್ನು ಸರಳಗೊಳಿಸಲು attribute macros ಬಳಸುತ್ತದೆ. ನೀವು ಸರ್ವರ್ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ನೇರವಾಗಿ ನಿಮ್ಮ ಫಂಕ್ಷನ್‌ಗಳಿಗೆ ಸೇರಿಸಬಹುದು. ಇದು ನಿಮ್ಮ ಸೆಟಪ್ ಅನ್ನು ಹೆಚ್ಚು ಸ್ವಚ್ಛ ಮತ್ತು ಡಿಕ್ಲರೇಟಿವ್ (declarative) ಆಗಿಸುತ್ತದೆ.

ನೀವು ಏಕಕಾಲದಲ್ಲಿ ಹಲವಾರು ಸರ್ವರ್‌ಗಳನ್ನು ಸಹ ಚಲಾಯಿಸಬಹುದು. ವಿಭಿನ್ನ ಪೋರ್ಟ್‌ಗಳಲ್ಲಿ ವಿಭಿನ್ನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು Tokio ಬಳಸಿ. ಇದು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಉತ್ತಮವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

  • ಪ್ರತ್ಯೇಕ ಪೋರ್ಟ್‌ಗಳಲ್ಲಿ HTTP ಮತ್ತು HTTPS ಅನ್ನು ಚಲಾಯಿಸುವುದು.
  • ವಿಭಿನ್ನ API ವರ್ಷನ್‌ಗಳನ್ನು ಸೇವೆ ಮಾಡುವುದು.
  • ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ (process) ಮೈಕ್ರೋಸರ್ವಿಸ್‌ಗಳನ್ನು ಹೋಸ್ಟ್ ಮಾಡುವುದು.
  • ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹೆಲ್ತ್ ಚೆಕ್‌ಗಳಿಂದ (health checks) ಪ್ರತ್ಯೇಕಿಸುವುದು.

ಸರ್ವರ್ ಪ್ರಾರಂಭಿಸುವಾಗ ಯಾವಾಗಲೂ ದೋಷಗಳನ್ನು (errors) ನಿರ್ವಹಿಸಿ. ಆಕ್ಯುಪೈಡ್ ಪೋರ್ಟ್‌ಗಳು ಅಥವಾ ಪರ್ಮಿಷನ್ ದೋಷಗಳು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳಾಗಿವೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಿರವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.

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