ਸਰਵਰ ਕੌਂਫਿਗਰੇਸ਼ਨ

ਪ੍ਰੋਡਕਸ਼ਨ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਸਹੀ ਸਰਵਰ ਸੈੱਟਅੱਪ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ। Hyperlane ਤੁਹਾਨੂੰ ਆਪਣੇ ਸਰਵਰ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਦੋ ਤਰੀਕੇ ਦਿੰਦਾ ਹੈ: ServerConfig ਅਤੇ RequestConfig।

ServerConfig ਖੁਦ HTTP ਸਰਵਰ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਦੀ ਵਰਤੋਂ ਇਹ ਸੈੱਟ ਕਰਨ ਲਈ ਕਰਦੇ ਹੋ:

  • Address: ਸਾਰੇ ਇੰਟਰਫੇਸਾਂ 'ਤੇ ਸੁਣਨ (listen) ਲਈ 0.0.0.0:80 ਦੀ ਵਰਤੋਂ ਕਰੋ। ਆਪਣੇ ਲੋਕਲ ਮਸ਼ੀਨ ਤੱਕ ਸੀਮਤ ਰੱਖਣ ਲਈ 127.0.0.1:8080 ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • Nodelay: ਲੇਟੈਂਸੀ (latency) ਨੂੰ ਘਟਾਉਣ ਲਈ ਇਸਨੂੰ true 'ਤੇ ਸੈੱਟ ਕਰੋ। ਇਹ ਪੈਕੇਟਾਂ ਨੂੰ ਬਫਰ ਕਰਨ ਦੀ ਬਜਾਏ ਤੁਰੰਤ ਛੋਟੇ ਪੈਕੇਟ ਭੇਜਦਾ ਹੈ।
  • TTL: ਇਹ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਪੈਕੇਟਾਂ ਲਈ Time to Live ਸੈੱਟ ਕਰਦਾ ਹੈ। 128 ਦੀ ਕੀਮਤ ਜ਼ਿਆਦਾਤਰ ਮਾਮਲਿਆਂ ਵਿੱਚ ਕੰਮ ਕਰਦੀ ਹੈ।

RequestConfig ਵਿਅਕਤੀਗਤ HTTP ਰਿਕੁਐਸਟਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਡੇ ਸਰਵਰ ਨੂੰ ਸਰੋਤਾਂ ਦੀ ਕਮੀ (resource exhaustion) ਅਤੇ ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ। ਤੁਸੀਂ JSON ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਹ ਸੀਮਾਵਾਂ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ:

  • buffer_size: ਬਾਈਟਸ ਵਿੱਚ ਰੀਡ ਬਫਰ ਸਾਈਜ਼।
  • max_path_size: ਵੱਧ ਤੋਂ ਵੱਧ URL ਪਾਥ ਲੰਬਾਈ।
  • max_header_count: ਪ੍ਰਤੀ ਰਿਕੁਐਸਟ ਹੈਡਰਾਂ 'ਤੇ ਸੀਮਾ।
  • max_body_size: ਵੱਧ ਤੋਂ ਵੱਧ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਰਿਕੁਐਸਟ ਬਾਡੀ। ਇਹ denial-of-service ਹਮਲਿਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
  • read_timeout_ms: ਰਿਕੁਐਸਟ ਡੇਟਾ ਪੜ੍ਹਨ ਲਈ ਸਮਾਂ ਸੀਮਾ।

Hyperlane ਤੁਹਾਨੂੰ ਇਹ ਸੈਟਿੰਗਾਂ ਇੱਕ JSON ਸਟ੍ਰਿੰਗ ਤੋਂ ਲੋਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਹ ਕੰਟੇਨਰਾਈਜ਼ਡ (containerized) ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਐਨਵਾਇਰਨਮੈਂਟ ਵੇਰੀਏਬਲਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।

ਪ੍ਰੋਡਕਸ਼ਨ ਲਈ ਵਧੀਆ ਅਭਿਆਸ (Best practices):

  • ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਈ JSON ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਡਿਪਲਾਈਮੈਂਟਸ ਨੂੰ ਲਚਕਦਾਰ ਬਣਾਉਂਦਾ ਹੈ।
  • ਸਖ਼ਤ ਰਿਕੁਐਸਟ ਸੀਮਾਵਾਂ ਸੈੱਟ ਕਰੋ। ਆਪਣੀ max_body_size ਨੂੰ ਆਪਣੀਆਂ ਅਸਲ ਲੋੜਾਂ ਅਨੁਸਾਰ ਰੱਖੋ।
  • ਲੇਟੈਂਸੀ ਨੂੰ ਘੱਟ ਰੱਖਣ ਲਈ API ਸਰਵਰਾਂ ਲਈ nodelay ਨੂੰ ਇਨੇਬਲ ਕਰੋ।
  • ਰੀਡ ਟਾਈਮਆਊਟ ਸੈੱਟ ਕਰੋ। ਇਹ ਹੌਲੀ ਕਲਾਇੰਟਸ ਨੂੰ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਖੁੱਲ੍ਹਾ ਰੱਖਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
  • ਜਦੋਂ ਸੰਭਵ ਹੋਵੇ, 0.0.0.0 ਦੀ ਬਜਾਏ ਖਾਸ ਇੰਟਰਫੇਸਾਂ ਨਾਲ ਬਾਈਂਡ (bind) ਕਰੋ।

Hyperlane ਤੁਹਾਨੂੰ ਕੋਡ ਜਾਂ JSON ਰਾਹੀਂ ਕੰਟਰੋਲ ਦਿੰਦਾ ਹੈ। ਇਹ ਦੋ-ਪੱਧਰੀ ਪਹੁੰਚ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਤੁਹਾਡਾ ਸਰਵਰ ਤੇਜ਼ ਅਤੇ ਸੁਰੱਖਿਅਤ ਰਹੇ।

Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/server-configuration-1dp9