Em nghĩ là logic này không ổn lắm, vì anh lấy request đầu tiên làm mốc thì sẽ không hay, ví dụ 1p0s request lần 1, là 1 lần 1p30s request lần 2, là 2 lần nhưng 2p10s request lần 3, thì vẫn là 2 lần do là mình chỉ tính từ hiện tại về lại 1p Nên em nghĩ là thay vì lưu số lượng request mình nên lưu các lần request ví dụ thay vì là 0 1 2 3 thì là key+newDate().getTime() và set expire là 1 phút lúc tính mình chỉ cần lấy ra những cái key+timestemp và count() lên là ok
anh ơi cho em hỏi thêm câu là làm sao để server Back end phân biệt được 2 client cùng dùng chung mạng LAN với nhau (ví dụ wifi), vì khi check IP address thì 2 giống nhau ạ. Bài toán là em muốn hạn chế số lần request của một THIẾT BỊ ạ, nếu chỉ kiểm tra bằng IP thì các thiết bị dùng chung mạng LAN sẽ được Backend hiểu là cùng một user
Video này đúng với em hơn: th-cam.com/video/BKuNdc92ltI/w-d-xo.html
ปีที่แล้ว
@@anonystickem cảm ơn anh đã trả lời ạ. Em đã xem hết video này của anh, anh cũng nói là trong 1 cty có 1000 người sử dụng IP chung thì vẫn tính là 1 IP ạ. Nên là vấn đề làm sao để giới hạn request theo thiết bị thì vẫn chưa có lời giải ạ
@ Em thử nghĩ xem, em có thể tạo một key random khi user đó ở API login được đúng không? Được đúng không. Nếu nâng cao thì em tìm hiểu về "finger browser" đó là cách hiện đại. Mỗi trình duyệt có một dấu vân tay nha em.
ปีที่แล้ว +1
anh ơi em chạy cái lệnh lấy IP của anh thì em ko bắt được IP của người dùng mà nó bắt IP của server FE thì phải làm sao anh?
Hi Ad Cho em hỏi ví dụ như data luôn bị thay đổi theo từng phút, giờ thì những trường hợp như vậy nếu đẩy vào redis để cache lại thì dữ liệu trả về cho client sẽ bị sai theo thời điểm request. Trường hợp nữa là một request get data từ 1 API theo nhiều điều kiện nếu dùng redis để cache lại thì những request tiếp theo cũng gọi API đó nhưng điều kiện truy vấn mỗi lần lại khác nhau thì chúng ta sẽ xử lý ra sạo ạ Thanks admin nhiều ạ
Câu hỏi này dành cho video này là không đúng. Vì cơ bản là video này chỉ giới hạn request api. Câu hỏi của em liên quan đến "Tính nhất quán của dữ liệu giữa cache và database". Em vào blog anonystick/com tìm theo key redis là sẽ có nha em.
Rất tâm huyết! Chúc kênh ngày càng có nhiều người theo dõi.
Cảm ơn bạn nhé!
Nội dung vô cùng hữu ích và hấp dẫn, rất mong kênh ngày càng phát triển hơn
Hay bác ơi em đã đăng kí và bật thông báo rồi, mong bác chia sẻ mấy kinh nghiệm làm việc với hệ thống lớn, thiết kế ...
Cảm ơn bạn!
hay quá em đang tim hiểu về BE vs express
Uhm, cố gắng nhiều lên hén.
Hay quá chú ơi.
Nội dung hay, bác chiệu khó đầu tư thêm về hình ảnh và live stream chia sẻ thì kênh bác tốt lắm nhé
Tks bạn! Sẽ cố gắng hơn nữa
Kênh rất hay mong ad sẽ đầu tư thêm về mặt animation em đã sub.
đúng cái em đang cần luô, cảm ơn anh rất nhiều
Quá hay luôn anh ơi
không bt em măc phải lỗi gì mà hàm biến numberRequest của em đợi hàm incr() chạy rất lâu ạ
Bác ơi phút 24:27 bác có nói video sau triển khai middleware một cách kĩ càng hơn. Sao em không tìm thấy video đó ạ? Em cảm ơn bác
Hay a ơi
Em nghĩ là logic này không ổn lắm, vì anh lấy request đầu tiên làm mốc thì sẽ không hay, ví dụ
1p0s request lần 1, là 1 lần
1p30s request lần 2, là 2 lần
nhưng 2p10s request lần 3, thì vẫn là 2 lần do là mình chỉ tính từ hiện tại về lại 1p
Nên em nghĩ là thay vì lưu số lượng request mình nên lưu các lần request ví dụ thay vì là 0 1 2 3 thì là key+newDate().getTime() và set expire là 1 phút lúc tính mình chỉ cần lấy ra những cái key+timestemp và count() lên là ok
Đúng em nó còn thiếu, anh sẽ boor sung trong khoá học nha em
@@anonystick Dạ, em cảm ơn anh
Hay quá anh !like
anh có thể cho em xin link của video thứ 2 để setup middleware cho việc hạn chết request này được không ạ. Em cảm ơn
anh dùng extension nào để send trực tiếp cái api đó trong vs code vậy ạ
http client em hỉ?
thư viện xử lý rate limit có sẵn r mà lại phải đi code lại nữa nhỉ?
Uhm anh thích xây nhà mình làm hơn á.
anh ơi cho em hỏi thêm câu là làm sao để server Back end phân biệt được 2 client cùng dùng chung mạng LAN với nhau (ví dụ wifi), vì khi check IP address thì 2 giống nhau ạ.
Bài toán là em muốn hạn chế số lần request của một THIẾT BỊ ạ, nếu chỉ kiểm tra bằng IP thì các thiết bị dùng chung mạng LAN sẽ được Backend hiểu là cùng một user
Video này đúng với em hơn: th-cam.com/video/BKuNdc92ltI/w-d-xo.html
@@anonystickem cảm ơn anh đã trả lời ạ. Em đã xem hết video này của anh, anh cũng nói là trong 1 cty có 1000 người sử dụng IP chung thì vẫn tính là 1 IP ạ. Nên là vấn đề làm sao để giới hạn request theo thiết bị thì vẫn chưa có lời giải ạ
Nếu user login thì em có userId. Lúc đó em sẽ kết hợp userId + IP thì sẽ có unit... OK hen..
@@anonystick dạ OK nếu user đã login và request các API cần authentication ạ, nhưng em thắc mắc nếu mình muốn hạn chế ngay ở cái API login thì sao ạ?
@ Em thử nghĩ xem, em có thể tạo một key random khi user đó ở API login được đúng không? Được đúng không. Nếu nâng cao thì em tìm hiểu về "finger browser" đó là cách hiện đại. Mỗi trình duyệt có một dấu vân tay nha em.
anh ơi em chạy cái lệnh lấy IP của anh thì em ko bắt được IP của người dùng mà nó bắt IP của server FE thì phải làm sao anh?
bắt IP user phải dưới backend. or trên FE thì em dùng api.
Ơ video triển khai middleware rate limit này nó nằm ở đâu vậy ạ ?
Trong đó luôn đó em...
Gắn cái loop chờ vài giây sau khi click trên app hay web cho gọn :v
sai hoàn toàn nha.
Hi Ad
Cho em hỏi ví dụ như data luôn bị thay đổi theo từng phút, giờ thì những trường hợp như vậy nếu đẩy vào redis để cache lại thì dữ liệu trả về cho client sẽ bị sai theo thời điểm request.
Trường hợp nữa là một request get data từ 1 API theo nhiều điều kiện nếu dùng redis để cache lại thì những request tiếp theo cũng gọi API đó nhưng điều kiện truy vấn mỗi lần lại khác nhau thì chúng ta sẽ xử lý ra sạo ạ
Thanks admin nhiều ạ
Câu hỏi này dành cho video này là không đúng. Vì cơ bản là video này chỉ giới hạn request api. Câu hỏi của em liên quan đến "Tính nhất quán của dữ liệu giữa cache và database". Em vào blog anonystick/com tìm theo key redis là sẽ có nha em.
dạ, thầy ơi video mờ quá thầy ơi
Mình thấy rõ, chắc mới up nên chưa phân giải được á
Mới up nên chưa rõ đó bạn. Bạn có thể xem lại được rồi. Tks!
Em đang code trên windown hình như không áp dụng dc đúng không ạ
Được chứ em!
@@anonystick vâng anh, em đang gặp vấn đề với việc connect tới redis
Nginx đâu không dùng mà chơi kiểu khổ vậy :))
User Requests N lần trên X phút trong Rest API