Các giải pháp chung là:
Mình sẽ làm một service sao cho:
Mỗi một ip/proxy chỉ gọi đến một domain nào đó tại một thời điểm (concurrent) là n request (thường an toàn thì n = 1)
2. Mỗi một proxy chỉ cho phép tại một thời điểm, chỉ được gọi tối đa k request, vì proxy được nhà cung cấp bán cho nhiều thằng, gọi nhiều nó sẽ không bán cho mình nữa (k có thể bằng 10,20,50, tùy mình test)
Mỗi một domain, chỉ cho phép gọi m request đến nói trong cùng một thời điểm, vì để tránh DDOS cái website đó, gọi nhiều nó có thể chết, không phải web nào cũng mạnh như vnexpress Em có thể viết cái proxy này dưới dạng claim/release
Nếu lấy cái proxy đó xài thì đánh dấu là lấy nó ra, để gọi cho domain là gì? Thì em sẽ làm được thuật toán như vậy. Không cần cao siêu đâu.
Còn design có thể dùng http hoặc rpc (để tăng tốc communicate) Ve nguyen tac minh design 2 diem:
- findAValidProxy(domain string)
- releaseProxy(proxy string, domain string) findAndClaimAValidProxy(domain string)
> Cau hinh cho domain thi minh lam file *.yml 1.
No toi da co bao nhieu request toi 1 thoi diem 2.
No cho phep 1 proxy goi den bao nhieu lan tai mot thoi diem
No cho phep goi bao nhieu requests trong khoang thoi gian t
Vi du: 10 request/1phut
> Cau hinh cho file proxy
Add danh sach proxy
- Moi proxy dc phep goi bao nhieu request cung mot thoi diem
Timeout cua proxy
=> Khi ma khong co release, hoac la destination khong response ve
Các giải pháp chung là: Mình sẽ làm một service sao cho:
2. Mỗi một proxy chỉ cho phép tại một thời điểm, chỉ được gọi tối đa k request, vì proxy được nhà cung cấp bán cho nhiều thằng, gọi nhiều nó sẽ không bán cho mình nữa (k có thể bằng 10,20,50, tùy mình test)
Nếu lấy cái proxy đó xài thì đánh dấu là lấy nó ra, để gọi cho domain là gì? Thì em sẽ làm được thuật toán như vậy. Không cần cao siêu đâu.
Còn design có thể dùng http hoặc rpc (để tăng tốc communicate) Ve nguyen tac minh design 2 diem: - findAValidProxy(domain string) - releaseProxy(proxy string, domain string) findAndClaimAValidProxy(domain string)
> Cau hinh cho domain thi minh lam file *.yml 1.
> Cau hinh cho file proxy
=> Khi ma khong co release, hoac la destination khong response ve