Toxiproxy, מסגרת לדמות תנאי רשת בסביבות בדיקה

Shopify, המפתחת את אחת מפלטפורמות המסחר האלקטרוני הגדולות והפופולריות ברשת, דio הודיעה לאחרונה כי היא השיקה את הגרסה החדשה של שרת ה-proxy «Toxiproxy 2.3» אשר נועד לדמות כשלים וחריגות ברשת ובמערכת כדי לבדוק את מצב האפליקציות כאשר מתרחשים תנאים כאלה.

התוכנית בולטת במתן API לשינוי דינמי של המאפיינים של ערוץ התקשורת, אשר ניתן להשתמש בו כדי לשלב את Toxiproxy עם מערכות בדיקת יחידות, בנוסף לתמיכה גם בפלטפורמות אינטגרציה מתמשכות וסביבות פיתוח.

לגבי טוקסיפרוקסי

מסגרת זו תוכנן במיוחד לעבודה בסביבות בדיקה, CI ופיתוח, ותומכת במניפולציה דטרמיניסטית של קשרים, אך עם תמיכה בכאוס אקראי והתאמה אישית.

בעיקרון, Toxiproxy ממוקם ככלי שכל מי שדורש לבצע בדיקות הדגמה באפליקציות שאין להן נקודות כשל בודדות. נעשה שימוש מוצלח ב-Toxiproxy בכל סביבות הפיתוח והבדיקה ב-Shopify מאז אוקטובר 2014.

השימוש בטוקסיפרוקסי מורכב משני חלקים. פרוקסי TCP שנכתב ב-Go (מה שמאגר זה מכיל) ולקוח שמתקשר עם הפרוקסי באמצעות HTTP. זה מגדיר את האפליקציה כך שכל חיבורי הבדיקה יעברו דרך Toxiproxy ואז יוכלו לתפעל את הסטטוס שלהם באמצעות HTTP.

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

כדי לשלוט על פעולת שרת ה-proxy מיישומים, מסופקות ספריות לקוח עבור Ruby, Go, Python, C # /.NET, PHP, JavaScript / Node.js, Java, Haskell, Rust ו-Elixir, המאפשרות לך לשנות את תנאי אינטראקציה ברשת תוך כדי תנועה ומיד להעריך את התוצאה.

כדי לשנות את המאפיינים של ערוץ התקשורת מבלי לבצע שינויים בקוד, ניתן להשתמש בכלי עזר מיוחד של toxiproxy-cli (ה-API של Toxiproxy אמור לשמש בבדיקות יחידות והשירות יכול להיות שימושי עבור ניסויים אינטראקטיביים).

מה חדש ב-Toxiproxy 2.3?

באשר לשינויים הכלולים בגרסה החדשה שפורסמה, מוזכר שיש הכללה של בקר נקודת קצה לקוח עבור HTTPS.

כמו גם ההפרדה של מנהלי בדיקה טיפוסיים לקבצים נפרדים, יישום ה-Client.Populate API.

בנוסף לכך, בולטת גם התמיכה בפלטפורמות armv7 ו-armv6 והיכולת לשנות את רמת הרישום לשרת.

התקן את Toxiproxy על לינוקס

למי שמעוניין להיות מסוגל להתקין את המסגרת הזו כדי להיות מסוגל לבצע את הבדיקות שלו, הם יכולים לעשות זאת בצע את השלבים שאנו חולקים להלן.

אם אתה משתמש ב- דביאן, אובונטו או כל הפצה אחרת המבוססת על אלה, אתה יכול לבצע את ההתקנה על ידי פתיחת מסוף (תוכל להשתמש בקיצור המקלדת Ctrl + Alt + T) ובו תקליד:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

ואנחנו ממשיכים לבצע את ההתקנה עם:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

במקרה של אלה שכן משתמשי הפצות עם תמיכה בחבילות RPM, כגון Fedora, openSuse, RHEL, בין היתר, החבילה להורדה היא הבאה:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

ואתה מתקין את החבילה על ידי הקלדת:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

לאחר סיום ההתקנה, תוכל להפעיל את השירות על ידי ביצוע הפקודה הבאה בטרמינל:
sudo service toxiproxy start

לבסוף אם האתה מעוניין לדעת יותר על זה, עליך לדעת שקוד ה-Toxiproxy כתוב ב-Go ובעל רישיון MIT ותוכל לעיין במדריך לשימוש במסגרת זו ב- הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.