Roghnóir seachfhreastalaí babhta-ar-babhta roinnte i Go
Coinnigh roghnóir seachfhreastalaí Go beo idir iarratais, cosain an staid roghnúcháin roinnte agus déan idirdhealú idir bealach a roghnú agus a mhúchán a bhreathnú.
Is féidir le roghnóir rothlú go foirfe agus an chéad seachfhreastalaí a roghnú fós. Is é an locht ná roghnóir nua a chruthú go timpisteach do gach iarratas, rud a athshocraíonn a chuntar sula mbíonn an dara rogha le déanamh aige.
Tóg an roghnóir uair amháin agus coinnigh é leis an iompar. Is féidir leis an liosta seachfhreastalaí HTTP iarrthóirí HTTP poiblí a sholáthar don tacar URL nuair a cheadaíonn na hiarratais idirghabhálaithe poiblí. Tosaigh le liosta URL seachfhreastalaí atá bailíochtaithe agus nach bhfuil folamh:
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
}
}
Ní mór don fheidhmchlár máguaird liosta folamh a dhiúltú, na URLanna a bhailíochtú agus na hiompórtálacha rialta net/http, net/url agus sync a úsáid. Ba chóir don liosta fanacht do-athraithe agus an roghnóir seo á úsáid aige, nó a bheith curtha ina ionad ag dearadh atá sioncronaithe ar leithligh.
Ceangail an fheidhm aischurtha le haon http.Transport coinnithe. Cosnaíonn an mutex an seicheamh roghnúcháin thar aisghlaonna comhthreomhara. Ní éilíonn sé glas a choinneáil agus iarratas líonra mall á chríochnú.
Ná hídigh bealach gan ach é a phriontáil
Má ghlaoitear ar an roghnóir arís le haghaidh teachtaireachta diagnóisí, téann an cuntar ar aghaidh arís. Féadfaidh an t-aschur sin cur síos ar an gcéad iarrthóir eile seachas an t-iarrthóir a d’úsáid an t-iarratas atá á fhiosrú agat. Taifead an rogha laistigh den aisghlao fíor le haitheantóir críochphointe sábháilte.
Ní cruthú é aisghlao a ghlaoch go ndearnadh iarratas a sheachadadh go rathúil. Is féidir le hatreoruithe nó le hiarrachtaí iompair breise an bhuille tuisceana shimplí “glacadh feidhmchláir amháin, rogha amháin” a chastacht. Más gá do shreabhadh oibre bealach amháin a choinneáil thar roinnt oibríochtaí, roghnaigh an bealach sin ag teorainn an tsreafa oibre in ionad aisghlao rothlach domhanda a úsáid.
Ní gheallann rothlú babhta-ar-babhta aschur poiblí ar leithligh ach an oiread. Sceidealaíonn sé críochphointí. Fanann an fhéiniúlacht deiridh ina hairíonna de chonair a sholáthraíonn gach críochphointe.