টক্সিপ্রক্সি, পরীক্ষার পরিবেশে নেটওয়ার্ক অবস্থার অনুকরণ করার জন্য একটি কাঠামো

বিষয়শ্রেণী, যা ওয়েবে সবচেয়ে বড় এবং সবচেয়ে জনপ্রিয় ই-কমার্স প্ল্যাটফর্মগুলির একটি বিকাশ করে, ঘio সম্প্রতি ঘোষণা করেছে যে এটি প্রক্সি সার্ভারের নতুন সংস্করণ "Toxiproxy 2.3" চালু করেছে যা নেটওয়ার্ক এবং সিস্টেমে ব্যর্থতা এবং অসঙ্গতিগুলি অনুকরণ করার জন্য ডিজাইন করা হয়েছে যখন এই ধরনের পরিস্থিতি ঘটবে তখন অ্যাপ্লিকেশনগুলির অবস্থা পরীক্ষা করতে৷

প্রোগ্রামটি যোগাযোগ চ্যানেলের বৈশিষ্ট্যগুলিকে গতিশীলভাবে পরিবর্তন করার জন্য একটি API প্রদানের জন্য আলাদা, যেটি ইউনিট টেস্ট সিস্টেমের সাথে টক্সিপ্রক্সিকে একীভূত করতে ব্যবহার করা যেতে পারে, এছাড়াও ক্রমাগত ইন্টিগ্রেশন প্ল্যাটফর্ম এবং উন্নয়ন পরিবেশের জন্য সমর্থন রয়েছে।

টক্সিপ্রক্সি সম্পর্কে

এই কাঠামো পরীক্ষার পরিবেশে কাজ করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে, CI এবং উন্নয়ন, এবং সংযোগের নির্ধারক ম্যানিপুলেশন সমর্থন করে, কিন্তু র্যান্ডম বিশৃঙ্খলা এবং কাস্টমাইজেশনের জন্য সমর্থন সহ।

মূলত Toxiproxy একটি টুল হিসাবে অবস্থান করা হয় যে সব যারা প্রয়োজন ব্যর্থতার একক পয়েন্ট নেই এমন অ্যাপ্লিকেশনগুলিতে ডেমো পরীক্ষা করুন। টক্সিপ্রক্সি অক্টোবর 2014 থেকে Shopify-এ সমস্ত বিকাশ এবং পরীক্ষার পরিবেশে সফলভাবে ব্যবহার করা হয়েছে।

টক্সিপ্রক্সির ব্যবহার দুটি অংশ নিয়ে গঠিত। Go-তে লেখা একটি TCP প্রক্সি (এই সংগ্রহস্থলে কী রয়েছে) এবং একটি ক্লায়েন্ট যা HTTP-এর মাধ্যমে প্রক্সির সাথে যোগাযোগ করে। এটি অ্যাপ্লিকেশনটিকে কনফিগার করে যাতে সমস্ত পরীক্ষার সংযোগগুলি টক্সিপ্রক্সির মাধ্যমে যায় এবং তারপরে HTTP এর মাধ্যমে তাদের স্থিতি পরিবর্তন করতে পারে।

অন্য কথায়, প্রক্সি অ্যাপ্লিকেশনটি পরীক্ষা করা হচ্ছে এবং এই অ্যাপ্লিকেশনটি যে নেটওয়ার্ক পরিষেবার সাথে যোগাযোগ করে তার মধ্যে চালু করা হয়েছে, এর পরে আপনি সার্ভার থেকে প্রতিক্রিয়া পাওয়ার সময় বা একটি অনুরোধ পাঠানোর সময় একটি নির্দিষ্ট বিলম্বের ঘটনা অনুকরণ করতে পারেন, ব্যান্ডউইথ পরিবর্তন করতে পারেন, সংযোগ গ্রহণ করতে অস্বীকার করতে পারেন, সংযোগ স্থাপনের স্বাভাবিক গতিপথে বাধা দিতে পারেন বা সংযোগ বন্ধ করতে পারেন, প্রতিষ্ঠিত সংযোগগুলি পুনঃস্থাপন করতে পারেন, বিকৃত করতে পারেন প্যাকেজের বিষয়বস্তু।

অ্যাপ্লিকেশন থেকে প্রক্সি সার্ভারের ক্রিয়াকলাপ নিয়ন্ত্রণ করতে, রুবি, গো, পাইথন, C# /. NET, PHP, JavaScript/Node.js, Java, Haskell, Rust এবং Elixir-এর জন্য ক্লায়েন্ট লাইব্রেরি সরবরাহ করা হয়েছে, যা আপনাকে পরিবর্তন করতে দেয়। মিথস্ক্রিয়া অবস্থার নেটওয়ার্ক ফ্লাই এবং অবিলম্বে ফলাফল মূল্যায়ন.

কোডে পরিবর্তন না করেই যোগাযোগ চ্যানেলের বৈশিষ্ট্য পরিবর্তন করতে, একটি বিশেষ টক্সিপ্রক্সি-ক্লি ইউটিলিটি ব্যবহার করা যেতে পারে (টক্সিপ্রক্সি এপিআই ইউনিট পরীক্ষায় ব্যবহার করা হয় এবং ইউটিলিটি ইন্টারেক্টিভ পরীক্ষার জন্য উপযোগী হতে পারে)।

Toxiproxy 2.3 এ নতুন কি আছে?

প্রকাশিত নতুন সংস্করণে যে পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে, তাতে উল্লেখ করা হয়েছে যে HTTPS-এর জন্য একটি ক্লায়েন্ট এন্ডপয়েন্ট কন্ট্রোলার অন্তর্ভুক্ত করা হয়েছে।

পাশাপাশি সাধারণ পরীক্ষার ড্রাইভারকে আলাদা ফাইলে আলাদা করা, ক্লায়েন্ট.পপুলেট এপিআই বাস্তবায়ন।

এটি ছাড়াও, armv7 এবং armv6 প্ল্যাটফর্মগুলির জন্য সমর্থন এবং সার্ভারের জন্য রেজিস্ট্রি স্তর পরিবর্তন করার ক্ষমতাও হাইলাইট করা হয়েছে।

লিনাক্সে টক্সিপ্রক্সি ইনস্টল করুন

যারা তাদের পরীক্ষা চালাতে সক্ষম হওয়ার জন্য এই কাঠামোটি ইনস্টল করতে সক্ষম হতে আগ্রহী, তারা এটি করতে পারেন আমরা নীচে শেয়ার করা পদক্ষেপগুলি অনুসরণ করছি।

আপনি যদি ব্যবহারকারী হন ডেবিয়ান, উবুন্টু বা এইগুলির উপর ভিত্তি করে অন্য কোন বিতরণ, আপনি একটি টার্মিনাল খোলার মাধ্যমে ইনস্টলেশনটি সম্পাদন করতে পারেন (আপনি কীবোর্ড শর্টকাট 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 ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।