«Դա աշխատում է իմ մեքենայի վրա». Մենք բոլորը ասում ենք, որ այն է: Բայց ինչպե՞ս է ձեր bash script- ը աշխատում, երբ արտադրանքի API-ի պատասխանը պետք է 15 րոպե է: Ինչպե՞ս ձեր backend ծառայությունը հագուստորեն աշխատում է 503 սխալների հագուստը վճարման մատակարարից: Պահպանելու ամբողջ սերվային սերվային միայն փորձելու համար պարզ retry logic մի սերվային հաճախ overkill է: Այս դասընթացում, ես կտա ձեզ ավելի արագ ճանապարհ: . Chaos Engineering directly in the terminal Մենք կարող ենք օգտագործել եւ Cloud-based Chaos Proxy- ը, որը կարող է սեղմել սխալները իրական ցանցային պահանջներին, առանց փոխելու միակ գծի ձեր ծրագրային կոդըը: curl Հիմնական հոդված՝ LOCALHOST- ը շատ լավ է Երբ արտադրվում է տեղականորեն, ցանցային լարմանը կանգնած է սխալով: APIs- ը կամ աշխատում են (200 OK) կամ նրանք չեն (Konnektion Refused). Բայց արտադրումում, դուք հանդիպում եք: Արդյոք սերտիֆիկը աշխատում է. 5 % -ը պահանջները կախված են. • Դուք ստացել եք ծախսերի սահմանափակությունը: High Latency Intermittent Failures Throttling Արդյոք, այս բաղադրիչը սովորաբար ներառում է մի բաղադրիչ Արդյունաբերական գործիքներ, ինչպիսիք են (Տեսանյութ) Կան ավելի հեշտ ճանապարհ է. iptables tc Cloud Chaos Proxy-ի լուծումը Մինչեւ ձեր OS- ի konfiguration- ի վրա, մենք կցանկանենք հատուկ պահանջները միջոցով proxy- ի միջոցով, որը «խաղկում է» traffic- ում, ինչպես մենք ստեղծում ենք պայմանները: Ես օգտագործում եմ chaos-proxy.debuggo.app- ը այս համար, բայց սխալը կիրառվում է ցանկացած ծրագրակազմի համար: Հիմնական տեսանյութը (1:27) Ահա 90-րդ շաբաթական աշխատանքային արագությունը: https://www.youtube.com/watch?v=x_S-guPwPEk&embedable=true Step-by-Step Tutorial 1. Նկարագրեք սխալը Առաջին, մենք պետք է ասում ենք proxy- ն, թե ինչ պետք է կտրել. Տղամարդը: httpbin.org ( կամ ձեր API domain) Հաջողությունը: 7 րոպե (Simulate lag) Արդյոք, դուք պետք է չգիտեք, թե ինչ է անում: 1 (100% պահանջները չգիտեն) 503 սխալ կոդը: Ծառայություն չի հասանելի. 2. Trust the Certificate (The «One-Time» Setup) Քանի որ մենք ստանում ենք HTTPS տրանսպորտը, մենք պետք է հավատում ենք proxy- ի CA սերտիֆիկը: Բեռնել The Արդյոք Dashboard- ից mitmproxy-ca-cert.pem Ավելացնել այն Keychain Access -> System եւ տեղադրել «Always Trust». MacOS: Սեղմեք /usr /local /share /ca-certificates / եւ update. Linux: 3. Magic Command- ը Այժմ մենք օգտագործում ենք Երբ The Ապրիլ՝ Flag. curl -x curl -v -x http://user:pass@chaos-proxy.debuggo.app:13979 https://httpbin.org/get Տեղադրեք արտադրանքը Ինչպե՞ս վերցնել այս փոստը մի քանի անգամ: 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- ի փորձարկումը: Տեղադրեք, որ ձեր տեղադրման գրասենյակները չգիտեն սխալ, եթե սխալը արագ է: Cron Jobs: Տեղադրեք ձեր գիշերային տվյալների սնուցման վերահսկողությունը ճիշտ է սխալից հետո: Quick Sanity Check- ը: Պայմանեք, թե ինչպիսիք են 503- ի սխալը. Հյուրատետր You don't need heavy infrastructure to test network resilience. A simple proxy setup allows you to inject chaos into any HTTP client—be it Հիմա , կամ ձեր Python / Node.js սերտիֆիկները. curl wget Շնորհակալություն!