Shopify، یکی از بزرگترین پلتفرمهای تجارت الکترونیک، Toxiproxy 2.3 را منتشر کرده است، یک سرور پراکسی که برای شبیهسازی خرابیها و ناهنجاریهای شبکه و سیستم طراحی شده است تا عملکرد برنامه را در هنگام وقوع چنین شرایطی آزمایش کند. این برنامه به دلیل ارائه یک API برای تغییر پویا ویژگی های کانال ارتباطی قابل توجه است که می تواند برای ادغام Toxiproxy با سیستم های تست واحد، پلت فرم های یکپارچه سازی مداوم و محیط های توسعه استفاده شود. کد Toxiproxy در Go نوشته شده و تحت مجوز MIT توزیع شده است.
یک پروکسی بین برنامه در حال آزمایش و سرویس شبکه ای که این برنامه با آن تعامل دارد اجرا می شود، پس از آن می تواند وقوع تاخیر خاصی را هنگام دریافت پاسخ از سرور یا ارسال درخواست، تغییر پهنای باند، شبیه سازی امتناع از پذیرش اتصالات شبیه سازی کند. ، پیشرفت عادی برقراری یا بستن اتصالات را مختل می کند، اتصالات برقرار شده را بازنشانی می کند، محتویات بسته ها را تحریف می کند.
برای کنترل عملکرد سرور پروکسی از برنامه ها، کتابخانه های کلاینت برای Ruby، Go، Python، C#/.NET، PHP، JavaScript/Node.js، Java، Haskell، Rust و Elixir ارائه شده است که به شما امکان می دهد تعامل شبکه را تغییر دهید. شرایط در پرواز و بلافاصله نتیجه را ارزیابی کنید. برای تغییر ویژگیهای یک کانال ارتباطی بدون ایجاد تغییر در کد، میتوان از ابزار ویژه toxiproxy-cli استفاده کرد (فرض میرود که Toxiproxy API در تستهای واحد استفاده میشود و این ابزار میتواند برای انجام آزمایشهای تعاملی مفید باشد).
در میان تغییرات نسخه جدید گنجاندن یک کنترلکننده نقطه پایانی مشتری برای HTTPS، جداسازی کنترلکنندههای آزمایشی معمولی به فایلهای جداگانه، پیادهسازی کلاینت. پر کردن API، پشتیبانی از پلتفرمهای armv7 و armv6، و قابلیت تغییر است. سطح ورود به سیستم برای سرور
منبع: opennet.ru