منصوبے کے بارے میں

Toxiproxy Go میں لکھا گیا ایک TCP proxy ہے جسے chaos engineering اور resiliency testing کے لیے ڈیزائن کیا گیا ہے۔ یہ ڈویلپرز کو ایک ایپلی کیشن اور اس کی upstream services (جیسے ڈیٹا بیس یا کیشز) کے درمیان کنکشنز کو روک کر مختلف نیٹ ورک ناکامیوں اور حالات کی نقل کرنے کی اجازت دیتا ہے۔ اہم صلاحیتوں میں شامل ہیں: - نیٹ ورک سیمولیشن (Toxics): یہ ڈیٹا کے بہاؤ میں تبدیلی لانے کے لیے کئی "toxics" فراہم کرتا ہے، بشمول latency (تاخیر کا اضافہ)، bandwidth limiting، TCP timeouts، connection resets، packet loss، اور TCP ڈیٹا کو چھوٹے پیکٹوں میں تقسیم کرنا۔ - متحرک کنٹرول: Proxies اور toxics کو REST HTTP API یا کمانڈ لائن انٹرفیس (CLI) کے ذریعے ریئل ٹائم میں مینیج کیا جا سکتا ہے، جس سے integration اور unit tests کے دوران یقینی طور پر تبدیلی کرنا ممکن ہوتا ہے۔ - کراس پلیٹ فارم سپورٹ: سرور Go میں لکھا گیا ہے اور Linux، macOS، Windows، اور Docker کے لیے دستیاب ہے۔ - ایکو سسٹم: اگرچہ سرور کسی خاص زبان تک محدود نہیں ہے، لیکن Ruby، Go، Python، .NET، PHP، Node.js، Java، Haskell، Rust، اور Elixir کے لیے آفیشل اور کمیونٹی کے تیار کردہ کلائنٹ لائبریریز موجود ہیں۔ - مانیٹرنگ: یہ پراکسی کی کارکردگی اور رویے کو ٹریک کرنے کے لیے اپنے HTTP API کے ذریعے Prometheus کے ساتھ ہم آہنگ میٹرکس فراہم کرتا ہے۔