פרויקט NGINX פרסם ערכת כלים לפיתוח מודולים בשפת Rust

מפתחי פרויקט NGINX פרסמו את ערכת הכלים ngx-rust, המאפשרת ליצור מודולים עבור שרת HTTP של NGINX ופרוקסי מרובי פרוטוקולים באמצעות שפת התכנות Rust. קוד ngx-rust מופץ תחת רישיון Apache 2.0 ונמצא כעת בשלב בטא.

ערכת הכלים פותחה בתחילה כפרויקט להאצת פיתוח של רשת שירות תואמת Istio עבור פלטפורמת Kubernetes הפועלת על גבי NGINX. המוצר מעולם לא עבר מעבר לשלב אב טיפוס וקפא על שמריו במשך מספר שנים, אך יצירת הדוגמאות שפורסמה במהלך תהליך האב טיפוס שימשה את הקהילה בפרויקטים של צד שלישי כדי להרחיב את יכולות NGINX בשפת Rust.

לאחר זמן מה, F5 הייתה צריכה לכתוב מודול NGINX ייעודי כדי להגן על השירותים שלה, והם רצו להשתמש בשפת Rust כדי להפחית את הסיכון לשגיאות זיכרון. כדי לפתור בעיה זו, הם גייסו את מחבר ngx-rust, אשר הוטל עליו לפתח כלים חדשים ומשופרים ליצירת מודולי NGINX ב-Rust.

ערכת הכלים כוללת שתי חבילות ארגזים:

  • nginx-sys הוא מחולל קישורים המבוסס על קוד המקור של NGINX. התוכנה מורידה את קוד ה-NGINX ואת כל התלויות שלו, ולאחר מכן משתמשת ב-bindgen כדי ליצור קישורים עבור הפונקציות המקוריות (FFI, ממשק פונקציה זר).
  • ngx היא שכבה לגישה לפונקציות C מקוד Rust, API ומערכת לייצוא מחדש של bindings שנוצרו באמצעות nginx-sys.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster