প্রকল্প সম্পর্কে

Toxiproxy হলো Go ভাষায় লেখা একটি TCP proxy যা chaos engineering এবং resiliency testing-এর জন্য ডিজাইন করা হয়েছে। এটি ডেভেলপারদের একটি অ্যাপ্লিকেশন এবং এর আপস্ট্রিম সার্ভিসগুলোর (যেমন ডাটাবেস বা ক্যাশ) মধ্যবর্তী কানেকশন ইন্টারসেপ্ট করার মাধ্যমে বিভিন্ন নেটওয়ার্ক ফেইলিওর এবং কন্ডিশন সিমুলেট করার সুযোগ দেয়। এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে: - নেটওয়ার্ক সিমুলেশন (Toxics): এটি ডেটা ফ্লো ম্যানিপুলেট করার জন্য বেশ কিছু "toxics" প্রদান করে, যার মধ্যে রয়েছে ল্যাটেন্সি (বিলম্ব যোগ করা), ব্যান্ডউইথ লিমিটিং, TCP টাইমআউট, কানেকশন রিসেট, প্যাকেট লস এবং TCP ডেটাকে ছোট ছোট প্যাকেটে বিভক্ত করা। - ডায়নামিক কন্ট্রোল: প্রক্সি এবং টক্সিকসগুলোকে রিয়েল-টাইমে একটি REST HTTP API অথবা কমান্ড-লাইন ইন্টারফেস (CLI)-এর মাধ্যমে ম্যানেজ করা যায়, যা ইন্টিগ্রেশন এবং ইউনিট টেস্টের সময় ডিটারমিনিস্টিক ট্যাম্পারিং সক্ষম করে। - ক্রস-প্ল্যাটফর্ম সাপোর্ট: সার্ভারটি Go ভাষায় লেখা এবং এটি Linux, macOS, Windows এবং Docker-এর জন্য উপলব্ধ। - ইকোসিস্টেম: সার্ভারটি ল্যাঙ্গুয়েজ-অ্যাগনস্টিক হলেও Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust এবং Elixir-এর জন্য অফিসিয়াল এবং কমিউনিটি-চালিত ক্লায়েন্ট লাইব্রেরি বিদ্যমান। - মনিটরিং: এটি প্রক্সি পারফরম্যান্স এবং বিহেভিয়ার ট্র্যাক করার জন্য তার HTTP API-এর মাধ্যমে Prometheus-কম্প্যাটিবল মেট্রিক্স এক্সপোজ করে।