ඒක මගේ යන්ත් රයේ වැඩ කරනවා.” අපි හැමෝම කිව්වා.ඒත් ඔබගේ bash script එක ක්රියා කරනවද, තුන්වන පාර්ශවයේ API ප්රතිචාර කිරීමට තත්පර 15 ක් ගත කරන විට? සම්පූර්ණ mock සේවාදායකයක් ලිවීම සරල retry ලෝහය පරීක්ෂා කිරීම සඳහා ස්ක්රිප්තුවේදී බොහෝ විට overkill වේ. . Chaos Engineering directly in the terminal අපි පාවිච්චි කරන්නම් සහ Cloud-based Chaos Proxy ඔබගේ යෙදුම් කේතය එක් රේඛාවක් වෙනස් කිරීමකින් තොරව සැබෑ ජාල ඉල්ලීම් වලට අසාර්ථකතාවයන් ඇතුළත් කිරීමට. curl ප් රශ්නය: Localhost පරිපූර්ණයි When developing locally, network latency is near zero. APIs either work (200 OK) or they don't (Connection Refused). But in production, you face: සේවාදායකයා කාර්යබහුලයි. 5% ඉල්ලීම් අඩුවෙයි : You hit the rate limit. High Latency Intermittent Failures Throttling මෙම ස්වයංක්රීයව සකස් කිරීම සාමාන්යයෙන් සංකීර්ණය ඇතුළත් වේ. නීති හෝ දේශීය මෙවලම් වැනි (එහෙත් ලේසි ක් රමයක් තියෙනවා. iptables tc ප්රොක්සි: Cloud Chaos Proxy ඔබගේ මෙහෙයුම් පද්ධතිය සකස් කිරීම වෙනුවට, අපි අපි සකස් කරන නීති අනුව ප්රොක්සි හරහා විශේෂ ඉල්ලීම් මාර්ගගත කරනු ඇත. I'll be using chaos-proxy.debuggo.app for this, but the concept applies to any programmable proxy. වීඩියෝ මාර්ගෝපදේශය (1:27) Prefer watching? Here is the 90-second workflow: https://www.youtube.com/watch?v=x_S-guPwPEk&embedable=true Step-by-Step Tutorial 1) අසාර්ථකත්වය හඳුනා ගැනීම First, we need to tell the proxy what to break. Target: (or your API domain). httpbin.org Delay: (Simulate lag). 7 seconds අසාර්ථක ප් රතිශතය: 1 (100% ඉල්ලීම් අසාර්ථක වනු ඇත). වැරදි කේතය: 503 Service Not Available. සහතිකය විශ්වාස කරන්න (The "One-Time" Setup) අපි HTTPS සංචාරය අත්හදා බැලීම නිසා, අපි ප්රොක්සිගේ CA සහතිකය විශ්වාස කළ යුතුය. Download the Dashboard එකෙන් mitmproxy-ca-cert.pem එය Keychain Access -> System වෙත එකතු කර "සෑම විටම විශ්වාස කරන්න." MacOS: /usr/local/share/ca-certificates / හා යාවත්කාලීන කරන්න Linux: 3 - මැජික් කමිටුව දැන් අපි පාවිච්චි සමග The Proxy පුවරුවක් curl -x curl -v -x http://user:pass@chaos-proxy.debuggo.app:13979 https://httpbin.org/get ප් රතිඵල තේරුම් ගැනීම ඔබ මෙම මෙහෙයුම කිහිප වතාවක් ක්රියාත්මක කරන විට: Scenario A (The Chaos) : ඔබ 7 තත්පර (අපේ ප් රමාද වීම) සඳහා ප්රමාණයෙන් "සංස්කරණය" ප්රවේශ කරනු ඇත. < HTTP/1.1 500 Internal Server Error < content-length: 56 < content-type: text/plain ... Debuggo Chaos Injection: 500 Error : ඉතිරි 50% වේලාව, ඉල්ලීම සැබෑ සේවාදායකයට හරහා ගමන් කරයි: Scenario B (Success) < HTTP/1.1 200 OK ... { "args": {}, "headers": { ... } } Real World Use Cases CI Pipelines පරීක්ෂා කිරීම: ඔබගේ ස්ථාපනය කිරීම් ස්ක් රිප්ටයන් වේගවත් බව තහවුරු නොකරන්න. : Ensure your nightly data sync retries correctly on failure. Cron Jobs Quick Sanity Checks: කේතය තැබීමට පෙර, API සේවාදායකයා 503 වැරැද්දක් ප්රතිකාර කරන්නේ කෙසේදැයි පරීක්ෂා කරන්න. ප් රතිඵල ඔබට ජාල ප්රතිරෝධය පරීක්ෂා කිරීම සඳහා බරපතල ව්යුහය අවශ්ය නොවේ. සරල ප්රොක්සි ස්ථාපනයෙන් ඔබට ඕනෑම HTTP සේවාදායකයට අපහසුතාවයක් ඇතුළත් කළ හැකිය. , , හෝ ඔබේ Python / Node.js ස්ක් රිප්ටර. curl wget Happy Breaking!