Doorasho proxy wareeg ah oo la wadaago oo ku qoran Go
Ku hay doorashada proxy-ga Go mid nool inta u dhaxaysa codsiyada, ilaali xaaladda doorashada la wadaago, oo kala sooc doorashada waddo iyo fiirinta bixitaankeeda.
Doorashadu waxay si fiican u wareegi kartaa oo haddana waxay sii dooran kartaa proxy-gii ugu horreeyay. Khaladku waa in si shil ah loo abuuro doorasho cusub codsi kasta, taas oo dib u dhigta tirintiisa ka hor inta aanay yeelan doorasho labaad.
Dhis doorashada hal mar oo la hayso gaadiidka. Liiska proxy-ga HTTP wuxuu bixin karaa musharixiin HTTP dadweyne ah oo loogu talagalay ururka URL marka codsiyadu oggolaadaan dhexdhexaadiyayaal dadweyne. Ku bilow liis URL proxy ah oo hore loo xaqiijiyay oo aan madhnayn:
func rotatingProxy(urls []*url.URL) func(*http.Request) (*url.URL, error) {
var mu sync.Mutex
next := 0
return func(*http.Request) (*url.URL, error) {
mu.Lock()
selected := urls[next]
next = (next + 1) % len(urls)
mu.Unlock()
return selected, nil
}
}
Barnaamijka ku hareeraysan waa inuu diido liis madhan, xaqiijiyaa URL-yada, oo isticmaala soo-gelinta caadiga ah net/http, net/url iyo sync. Liisku waa inuu ahaadaa mid aan isbeddelin inta doorashadani isticmaalayso, ama lagu beddelo nashqad si gooni ah loo isku-duubay.
Ku xidh shaqada la soo celiyay hal http.Transport oo la hayo. Mutex-ku wuxuu ilaaliyaa isku-xigga doorashada inta u dhaxaysa wicitaannada isku mar ah. Uma baahna in quful la hayo inta codsi shabakadeed gaabis ah dhammaanayo.
Ha ku lumin waddo si aad u daabacdo oo keliya
U wicida doorashada mar kale fariin ogaal ah waxay tirinta mar kale horay u dhaqaajisaa. Natiijadaas waxaa laga yaabaa inay qeexdo musharixiga xiga halkii ay qeexi lahayd musharixigii codsigii aad baadhayso isticmaalay. Diiwaangeli doorashada gudaha wicitaanka dhabta ah iyadoo la isticmaalayo aqoonsi dhammaad ammaan ah.
Wicitaanka dib-u-wicid ma aha caddayn in codsi si guul leh loo gaarsiiyay. Dib-u-celin ama isku dayo gaadiid dheeraad ah ayaa adkayn kara mala-awaalka fudud ee «hal wicitaan barnaamij, hal doorasho». Haddii socod-shaqeedku ay tahay inuu hayo hal waddo inta lagu jiro hawlo badan, ku dooro waddadaas xadka socod-shaqeedka halkii aad isticmaali lahayd dib-u-wicid wareeg ah oo caalami ah.
Wareegga sidoo kale ma ballanqaado bixitaanno dadweyne oo kala duwan. Wuxuu qorsheeyaa dhammaadka. Aqoonsiga ugu dambeeya wuxuu ahaanayaa sifo ka mid ah waddada ay bixiso dhammaad kasta.