Shopify, అతిపెద్ద ఇ-కామర్స్ ప్లాట్ఫారమ్లలో ఒకటైన Toxiproxy 2.3ని విడుదల చేసింది, అటువంటి పరిస్థితులు ఏర్పడినప్పుడు అప్లికేషన్ పనితీరును పరీక్షించడానికి నెట్వర్క్ మరియు సిస్టమ్ వైఫల్యాలు మరియు క్రమరాహిత్యాలను అనుకరించడానికి రూపొందించబడిన ప్రాక్సీ సర్వర్. యూనిట్ టెస్టింగ్ సిస్టమ్లు, నిరంతర ఏకీకరణ ప్లాట్ఫారమ్లు మరియు డెవలప్మెంట్ ఎన్విరాన్మెంట్లతో టాక్సిప్రాక్సీని ఏకీకృతం చేయడానికి డైనమిక్గా మారుతున్న కమ్యూనికేషన్ ఛానెల్ లక్షణాల కోసం APIని అందించడం కోసం ప్రోగ్రామ్ ప్రసిద్ది చెందింది. Toxiproxy కోడ్ గోలో వ్రాయబడింది మరియు MIT లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది.
పరీక్షిస్తున్న అప్లికేషన్ మరియు ఈ అప్లికేషన్ ఇంటరాక్ట్ అయ్యే నెట్వర్క్ సేవ మధ్య ప్రాక్సీ నడుస్తుంది, ఆ తర్వాత సర్వర్ నుండి ప్రతిస్పందనను స్వీకరించేటప్పుడు లేదా అభ్యర్థనను పంపేటప్పుడు, బ్యాండ్విడ్త్ను మార్చినప్పుడు, కనెక్షన్లను ఆమోదించడానికి నిరాకరించడాన్ని అనుకరించేటప్పుడు ఇది కొంత ఆలస్యం జరగడాన్ని అనుకరించగలదు. , కనెక్షన్లను స్థాపించడం లేదా మూసివేయడం యొక్క సాధారణ పురోగతికి అంతరాయం కలిగించడం, ఏర్పాటు చేసిన కనెక్షన్లను రీసెట్ చేయడం, ప్యాకెట్ల కంటెంట్లను వక్రీకరించడం.
అప్లికేషన్ల నుండి ప్రాక్సీ సర్వర్ యొక్క ఆపరేషన్ను నియంత్రించడానికి, రూబీ, గో, పైథాన్, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust మరియు Elixir భాషలకు క్లయింట్ లైబ్రరీలు అందించబడతాయి. ఫ్లైలో నెట్వర్క్ పరస్పర పరిస్థితులను మార్చడానికి మరియు ఫలితాన్ని వెంటనే మూల్యాంకనం చేయడానికి. కోడ్లో మార్పులు చేయకుండా కమ్యూనికేషన్ ఛానెల్ యొక్క లక్షణాలను మార్చడానికి, ప్రత్యేక యుటిలిటీ toxiproxy-cliని ఉపయోగించవచ్చు (టాక్సిప్రాక్సీ API యూనిట్ పరీక్షలలో ఉపయోగించబడుతుందని భావించబడుతుంది మరియు ఇంటరాక్టివ్ ప్రయోగాలను నిర్వహించడానికి యుటిలిటీ ఉపయోగపడుతుంది).
కొత్త విడుదలలో మార్పులలో HTTPS కోసం క్లయింట్ ఎండ్పాయింట్ హ్యాండ్లర్ను చేర్చడం, సాధారణ టెస్ట్ హ్యాండ్లర్లను ప్రత్యేక ఫైల్లుగా విభజించడం, క్లయింట్. పాపులేట్ API అమలు, armv7 మరియు armv6 ప్లాట్ఫారమ్లకు మద్దతు మరియు మార్చగల సామర్థ్యం ఉన్నాయి. సర్వర్ కోసం లాగింగ్ స్థాయి.
మూలం: opennet.ru