NGINX ప్రాజెక్ట్ యొక్క డెవలపర్లు ngx-rust టూల్కిట్ను అందించారు, ఇది రస్ట్ ప్రోగ్రామింగ్ భాషలో NGINX http సర్వర్ మరియు మల్టీ-ప్రోటోకాల్ ప్రాక్సీ కోసం మాడ్యూల్లను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. ngx-rust కోడ్ Apache 2.0 లైసెన్స్ క్రింద పంపిణీ చేయబడింది మరియు ప్రస్తుతం బీటాలో ఉంది.
ప్రారంభంలో, టూల్కిట్ NGINX పైన నడుస్తున్న కుబెర్నెట్స్ ప్లాట్ఫారమ్ కోసం ఇస్టియో-అనుకూల సర్వీస్ మెష్ అభివృద్ధిని వేగవంతం చేయడానికి ఒక ప్రాజెక్ట్గా అభివృద్ధి చేయబడింది. ఉత్పత్తి ప్రోటోటైప్ను దాటి అనేక సంవత్సరాల పాటు నిలిచిపోయింది, అయితే ప్రోటోటైప్ ప్రక్రియలో ప్రచురించబడిన ఉదాహరణ బైండింగ్లు రస్ట్లో NGINX యొక్క సామర్థ్యాలను విస్తరించడానికి మూడవ పక్ష ప్రాజెక్ట్లలో సంఘంచే ఉపయోగించబడ్డాయి.
కొంత సమయం తరువాత, F5 కంపెనీ తన సేవలను రక్షించడానికి NGINX కోసం ఒక ప్రత్యేక మాడ్యూల్ను వ్రాయవలసి ఉంది, దీనిలో మెమరీతో పని చేస్తున్నప్పుడు లోపాల ప్రమాదాన్ని తగ్గించడానికి రస్ట్ భాషను ఉపయోగించాలనుకుంది. సమస్యను పరిష్కరించడానికి, రస్ట్ లాంగ్వేజ్లో NGINX కోసం మాడ్యూళ్లను రూపొందించడానికి కొత్త మరియు మెరుగైన సాధనాలను అభివృద్ధి చేసే పనిలో ఉన్న ngx-rust రచయితను రప్పించారు.
టూల్కిట్లో రెండు క్రేట్ ప్యాకేజీలు ఉన్నాయి:
- nginx-sys - NGINX సోర్స్ కోడ్ ఆధారంగా బైండింగ్ జనరేటర్. యుటిలిటీ NGINX కోడ్ మరియు దాని అనుబంధిత డిపెండెన్సీలన్నింటినీ లోడ్ చేస్తుంది, ఆపై అసలైన ఫంక్షన్లపై బైండింగ్లను రూపొందించడానికి బైండ్జెన్ను ఉపయోగిస్తుంది (FFI, విదేశీ ఫంక్షన్ ఇంటర్ఫేస్).
- ngx - రస్ట్ కోడ్ నుండి C ఫంక్షన్లను యాక్సెస్ చేయడానికి ఒక లేయర్, API మరియు nginx-sys ఉపయోగించి సృష్టించబడిన బైండింగ్లను తిరిగి ఎగుమతి చేసే సిస్టమ్.
మూలం: opennet.ru