ટોક્સીપ્રોક્સી, પરીક્ષણ વાતાવરણમાં નેટવર્ક પરિસ્થિતિઓનું અનુકરણ કરવા માટેનું માળખું

ખરીદી કરો, જે વેબ પર સૌથી મોટા અને સૌથી લોકપ્રિય ઈ-કોમર્સ પ્લેટફોર્મ્સમાંથી એક વિકસાવે છે, ડીioએ તાજેતરમાં જાહેરાત કરી હતી કે તેણે પ્રોક્સી સર્વરનું નવું વર્ઝન «Toxiproxy 2.3» લોન્ચ કર્યું છે. જે નેટવર્ક અને સિસ્ટમમાં નિષ્ફળતાઓ અને વિસંગતતાઓને અનુકરણ કરવા માટે રચાયેલ છે જ્યારે આવી પરિસ્થિતિઓ થાય ત્યારે એપ્લિકેશનની સ્થિતિનું પરીક્ષણ કરવા માટે.

આ પ્રોગ્રામ કોમ્યુનિકેશન ચેનલની લાક્ષણિકતાઓને ગતિશીલ રીતે બદલવા માટે API પ્રદાન કરવા માટે અલગ છે, જેનો ઉપયોગ ટોક્સિપ્રોક્સીને યુનિટ ટેસ્ટ સિસ્ટમ્સ સાથે એકીકૃત કરવા માટે કરી શકાય છે, ઉપરાંત સતત એકીકરણ પ્લેટફોર્મ્સ અને વિકાસ વાતાવરણ માટે સપોર્ટ પણ છે.

ટોક્સિપ્રોક્સી વિશે

આ માળખું ખાસ કરીને પરીક્ષણ વાતાવરણમાં કામ કરવા માટે રચાયેલ છે, CI અને વિકાસ, અને જોડાણોના નિર્ધારિત મેનીપ્યુલેશનને સમર્થન આપે છે, પરંતુ રેન્ડમ અરાજકતા અને કસ્ટમાઇઝેશન માટે સમર્થન સાથે.

મૂળભૂત રીતે, ટોક્સીપ્રોક્સી એક સાધન તરીકે સ્થિત છે કે જેઓ જરૂરી છે એવી એપ્લિકેશનો પર ડેમો પરીક્ષણો કરો કે જેમાં નિષ્ફળતાના એક પણ બિંદુ નથી. ઑક્ટોબર 2014 થી Shopify પર તમામ વિકાસ અને પરીક્ષણ વાતાવરણમાં Toxiproxy સફળતાપૂર્વક ઉપયોગમાં લેવાય છે.

ટોક્સીપ્રોક્સીના ઉપયોગમાં બે ભાગોનો સમાવેશ થાય છે. Go માં લખાયેલ TCP પ્રોક્સી (આ રિપોઝીટરીમાં શું છે) અને એક ક્લાયન્ટ જે પ્રોક્સી સાથે HTTP મારફતે વાતચીત કરે છે. આ એપ્લીકેશનને રૂપરેખાંકિત કરે છે જેથી કરીને તમામ ટેસ્ટ કનેક્શન્સ Toxiproxy મારફતે જાય અને પછી HTTP દ્વારા તેમની સ્થિતિને મેન્યુલેટ કરી શકે.

બીજા શબ્દોમાં કહીએ તો, પ્રોક્સી પરીક્ષણ કરવામાં આવી રહેલી એપ્લિકેશન અને નેટવર્ક સેવા કે જેની સાથે આ એપ્લિકેશન ક્રિયાપ્રતિક્રિયા કરે છે તે વચ્ચે લોન્ચ કરવામાં આવે છે, જે પછી તમે સર્વર તરફથી પ્રતિસાદ પ્રાપ્ત કરતી વખતે અથવા વિનંતી મોકલતી વખતે ચોક્કસ વિલંબની ઘટનાનું અનુકરણ કરી શકો છો, બેન્ડવિડ્થ બદલી શકો છો, કનેક્શન્સ સ્વીકારવાનો ઇનકાર કરી શકો છો, કનેક્શન્સની સ્થાપના અથવા બંધ થવાના સામાન્ય માર્ગને અવરોધી શકો છો, સ્થાપિત જોડાણો પુનઃસ્થાપિત કરી શકો છો, વિકૃત કરી શકો છો. પેકેજોની સામગ્રી.

એપ્લીકેશનોમાંથી પ્રોક્સી સર્વરના સંચાલનને નિયંત્રિત કરવા માટે, રૂબી, ગો, પાયથોન, C#/. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust અને Elixir માટેની ક્લાયંટ લાઇબ્રેરીઓ પ્રદાન કરવામાં આવી છે, જે તમને બદલવાની મંજૂરી આપે છે. ક્રિયાપ્રતિક્રિયા શરતો નેટવર્ક ફ્લાય પર અને તરત જ પરિણામ મૂલ્યાંકન.

કોડમાં ફેરફાર કર્યા વિના કોમ્યુનિકેશન ચેનલની વિશેષતાઓને બદલવા માટે, ખાસ ટોક્સીપ્રોક્સી-ક્લી યુટિલિટીનો ઉપયોગ કરી શકાય છે (ટોક્સીપ્રોક્સી API નો ઉપયોગ યુનિટ ટેસ્ટમાં થવાનો છે અને યુટિલિટી ઇન્ટરેક્ટિવ પ્રયોગો માટે ઉપયોગી થઈ શકે છે).

Toxiproxy 2.3 માં નવું શું છે?

રીલીઝ થયેલ નવા સંસ્કરણમાં સમાવિષ્ટ ફેરફારો માટે, તે ઉલ્લેખિત છે કે HTTPS માટે ક્લાયંટ એન્ડપોઇન્ટ નિયંત્રકનો સમાવેશ છે.

તેમજ લાક્ષણિક ટેસ્ટ ડ્રાઈવરોને અલગ ફાઈલોમાં અલગ કરવા, client.Populate API નો અમલ.

આ ઉપરાંત, armv7 અને armv6 પ્લેટફોર્મ્સ માટે સપોર્ટ અને સર્વર માટે રજિસ્ટ્રી સ્તર બદલવાની ક્ષમતા પણ પ્રકાશિત થાય છે.

Linux પર Toxiproxy ઇન્સ્ટોલ કરો

જેઓ તેમના પરીક્ષણો હાથ ધરવા સક્ષમ થવા માટે આ ફ્રેમવર્ક ઇન્સ્ટોલ કરવામાં સક્ષમ થવામાં રસ ધરાવતા હોય, તેઓ આ કરી શકે છે અમે નીચે શેર કરીએ છીએ તે પગલાંને અનુસરીને.

જો તમે ના વપરાશકર્તા છો ડેબિયન, ઉબુન્ટુ અથવા આના આધારે અન્ય કોઈપણ વિતરણ, તમે ટર્મિનલ ખોલીને ઇન્સ્ટોલેશન કરી શકો છો (તમે કીબોર્ડ શોર્ટકટ 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

છેલ્લે જો ઇતમે તેના વિશે વધુ જાણવા માટે સમર્થ થવામાં રસ ધરાવો છો, તમારે જાણવું જોઈએ કે ટોક્સીપ્રોક્સી કોડ Go માં લખાયેલ છે અને તેની પાસે MIT લાઇસન્સ છે અને તમે આ ફ્રેમવર્કનો ઉપયોગ કરવા માટે મેન્યુઅલનો સંપર્ક કરી શકો છો નીચેની કડી


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.