ټاکنکی کولای شي په بشپړه توګه وګرځي او بیا هم لومړی پروکسي وټاکي. تېروتنه دا ده چې د هرې غوښتنې لپاره په ناڅاپي ډول نوی ټاکنکی جوړ شي، چې د دویمې ټاکنې مخکې یې شمېرونکی بیا تنظیموي.

ټاکنکی یو ځل جوړ کړئ او د انتقال سره یې وساتئ. د HTTP پروکسي لیست کولای شي د URL ټولګې لپاره عامه HTTP نوماندان وړاندې کړي کله چې غوښتنې عامه منځګړي اجازه ورکړي. د مخکې تصدیق شوې، نه خالي پروکسي URL لیست سره پیل وکړئ:

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
    }
}

شاوخوا اپلیکیشن باید خالي لیست رد کړي، URLونه تصدیق کړي او عادي net/http، net/url او sync واردات وکاروي. لیست باید د دې ټاکنکي د کارولو پر مهال بدلون نه منونکی وي، یا د جلا همغږي شوې طرحې له مخې بدل شي.

بیرته شوې فنکشن یو ساتل شوي http.Transport سره ونښلوئ. Mutex د ټاکنې ترتیب د یو وخت غبرګونونو تر منځ ساتي. دا اړ نه دی چې د ورو شبکې غوښتنې د بشپړېدو پر مهال قفل وساتل شي.

یوه لاره یوازې د چاپولو لپاره مه کاروئ

د تشخیصي پیغام لپاره د ټاکنکي بیا رابلل بیا شمېرونکی مخته وړي. هغه پایله کېدای شي د بل نوماند توضیح وکړي، نه هغه نوماند چې ستاسو تر څېړنې لاندې غوښتنې کارولی و. ټاکنه د اصلي غبرګون دننه د خوندي پای ټکي پېژندونکي سره ثبت کړئ.

د غبرګون رابلل دا ثبوت نه دی چې غوښتنه په بریالیتوب سره ورسېده. بیا لېږدونه یا اضافي انتقالي هڅې کولای شي «یوه اپلیکیشن رابلل، یوه ټاکنه» ساده انګېرنه پېچلې کړي. که یو کاري بهیر باید د څو عملیاتو په اوږدو کې یوه لاره وساتي، د نړیوال ګرځېدونکي غبرګون کارولو پر ځای هغه لاره د کاري بهیر په پوله وټاکئ.

ګردیزه دوره هم د بېلو عامه وتنو ژمنه نه کوي. دا پای ټکي مهالویش کوي. وروستی هویت د هر پای ټکي لخوا وړاندې شوې لارې ځانګړتیا پاتې کېږي.

اړوندې مقالې