Paglabas ng Toxiproxy 2.3, isang proxy para sa pagsubok ng katatagan ng application sa mga problema sa network

Ang Shopify, isa sa pinakamalaking platform ng e-commerce, ay naglabas ng Toxiproxy 2.3, isang proxy server na idinisenyo upang gayahin ang mga pagkabigo at anomalya ng network at system upang subukan ang pagganap ng application kapag nangyari ang mga ganitong kondisyon. Ang programa ay kapansin-pansin sa pagbibigay ng API para sa dynamic na pagbabago ng mga katangian ng channel ng komunikasyon, na maaaring magamit upang isama ang Toxiproxy sa mga sistema ng pagsubok ng unit, tuluy-tuloy na mga platform ng pagsasama at mga kapaligiran sa pag-unlad. Ang Toxiproxy code ay nakasulat sa Go at ipinamahagi sa ilalim ng lisensya ng MIT.

Ang isang proxy ay tumatakbo sa pagitan ng sinusubok na application at ng serbisyo ng network kung saan nakikipag-ugnayan ang application na ito, pagkatapos ay maaari nitong gayahin ang paglitaw ng isang tiyak na pagkaantala kapag nakatanggap ng tugon mula sa server o nagpapadala ng kahilingan, nagbabago ng bandwidth, gayahin ang pagtanggi na tumanggap ng mga koneksyon , guluhin ang normal na pag-unlad ng pagtatatag o pagsasara ng mga koneksyon, pag-reset ng mga itinatag na koneksyon, pagbaluktot sa mga nilalaman ng mga packet.

Upang kontrolin ang pagpapatakbo ng proxy server mula sa mga application, ibinibigay ang mga library ng kliyente para sa Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust at Elixir, na nagbibigay-daan sa iyong baguhin ang pakikipag-ugnayan sa network kondisyon sa mabilisang at agad na suriin ang resulta. Upang baguhin ang mga katangian ng isang channel ng komunikasyon nang hindi gumagawa ng mga pagbabago sa code, maaaring gumamit ng isang espesyal na utility na toxiproxy-cli (pinapalagay na ang Toxiproxy API ay ginagamit sa mga unit test, at ang utility ay maaaring maging kapaki-pakinabang para sa pagsasagawa ng mga interactive na eksperimento).

Kabilang sa mga pagbabago sa bagong release ay ang pagsasama ng isang client endpoint handler para sa HTTPS, ang paghihiwalay ng mga karaniwang test handler sa magkakahiwalay na file, ang pagpapatupad ng client.Populate API, suporta para sa armv7 at armv6 platform, at ang kakayahang magbago ang antas ng pag-log para sa server.

Pinagmulan: opennet.ru

Magdagdag ng komento