Closed tpphu closed 5 years ago
Hi @tpphu Da, cai nay la crawl 1 url tu chon hay nhieu url cung 1 luc anh, cho em hoi la cai bai pre-assignment lan truoc em lam va bay gio van di theo huong do, anh @tpphu thay on khong?
Như đã bàn trên lớp,
Chúng ta thiết kế bài tập này và các điều mà các bạn cần đạt được là:
gorountines
hoạt động độc lập và sử dụng channels
để trao đổi dữ liệu với nhau. Bài tập khuyến khích các bạn sử dụng:
1.1. DB để quản lý và cập nhật dữ liệu.
1.2. Khuyến khích các bạn nghĩ về hướng serverless
theo nghĩa đơn giản là: chương trình có thể chạy được trên nhiều server độc lập.
1.3. Khuyến khích các bạn viết Unit Test càng nhiều càng tốt.
Most features
Database Design
Software scaling
Plugin architect
Dynamic and smart proxy usage
Chỉ có n request đến một domain trên 1 IP trong cùng một thời điểm. Chú ý là không phải request nào cũng có response giống nhau, nên phải tính theo thời gian trả về. Tránh DOS server. Trong một khoảng thời gian t chỉ gọi k request đến domain để không bj chặn. Theo rule của các ông system admin hay làm.
Vì mỗi IP tương đương với một VPS, và quan trọng nữa là có thể proxy sẽ phục vụ nhiều account (nếu mua loại này), thậm chí mỗi server chỉ có thể gởi một lượng request nhất định do VPS có cấu hình thấp như 1-2CPU, và 1-2G RAM. Nên do vậy, tổng số request trên cùng một VPS ở một thời điểm phải thiết kế giới hạn theo con số x nào đó. Nguyên nhân là do vấn đề lệ thuộc vào nhà cung cấp proxy. Công ty cũng không thể tự làm cái này. Bởi vì, rất khó linh hoạt trong việc đổi IP, và mua ở số lượng lớn. Phải đổi proxy dễ dàng, nếu vì code lỗi hay hư mà domain nó chặn cái IPs đó.
Nếu một request đến domain bị lỗi thì phải switch sang proxy khác, tức là cơ chế retry thông qua proxy.