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