thắc mắc Nhờ tư vấn thiết kế hệ thống

Mô tả khó hiểu nhỉ.
Ban đầu mình còn tưởng bạn muốn làm 1 dạng sign-in, authentication như kiểu onetouch method, nhưng đếch phải. Hóa ra là bạn muốn làm 1 dạng permission request every time cho 1 cái action đã có sẵn.

Mình thì thấy chọn PA1 hay PA2 ko liên quan gì đến technical cả, mà phải xem business requirement.
Giả dụ bạn đang làm 1 cái action chuyển tiền quan trọng chả hạn, thì cái việc dùng long polling request là chấp nhận được.
Còn nếu action chỉ là để get data này nọ thì mình chả làm như 2 cách bạn mô tả làm gì, phức tạp ko cần thiết, thích thì cứ làm onetouch authentication 2FA hay MFA, sign-in xong rồi muốn làm gì thì làm.
 
Mô tả khó hiểu nhỉ.
Ban đầu mình còn tưởng bạn muốn làm 1 dạng sign-in, authentication như kiểu onetouch method, nhưng đếch phải. Hóa ra là bạn muốn làm 1 dạng permission request every time cho 1 cái action đã có sẵn.

Mình thì thấy chọn PA1 hay PA2 ko liên quan gì đến technical cả, mà phải xem business requirement.
Giả dụ bạn đang làm 1 cái action chuyển tiền quan trọng chả hạn, thì cái việc dùng long polling request là chấp nhận được.
Còn nếu action chỉ là để get data này nọ thì mình chả làm như 2 cách bạn mô tả làm gì, phức tạp ko cần thiết, thích thì cứ làm onetouch authentication 2FA hay MFA, sign-in xong rồi muốn làm gì thì làm.
Ban đầu mình cũng tưởng ông thớt cần làm dạng authentication, hỏi ra 1 hồi lòng vòng mới thấy thớt cần dạng khác.

Mà thím nói pa1 hay pa2 ko quan trọng?
Pa1 là ý thớt nói treo request, mỗi lần request thì chờ xác nhận 1-2 p rồi mới trả về response.

Bạn có thấy ai làm mà 1 api request mất 1-2p ko? Trong khi đa số thời gian là chờ tác vụ IO?

via nextVOZ for iPhone
 
Ban đầu mình cũng tưởng ông thớt cần làm dạng authentication, hỏi ra 1 hồi lòng vòng mới thấy thớt cần dạng khác.

Mà thím nói pa1 hay pa2 ko quan trọng?
Pa1 là ý thớt nói treo request, mỗi lần request thì chờ xác nhận 1-2 p rồi mới trả về response.

Bạn có thấy ai làm mà 1 api request mất 1-2p ko? Trong khi đa số thời gian là chờ tác vụ IO?

via nextVOZ for iPhone

Thực ra nó còn phụ thuộc vào business requirement nữa ấy thím, thế nên mình mới bảo nếu trong TH requirement bắt buộc như thế thì việc suy nghĩ theo hướng technical rồi chọn PA1 hay 2 đều ko phản ánh đúng bản chất là phải theo business.
Sẽ có những cái requirement kiểu request cần phải đợi đến cả chục giây ấy, cũng oái oăm. Và thường thì kiểu long polling này chắc chắn phải implement non blocking/async và cả timeout nữa.
Cái ví dụ long polling điển hình nhất là làm real time web app hồi xưa, app chat chit các kiểu chả hạn. Bên trong tất cả đều là tạo 1 vòng loop, gọi ajax http request chờ cả 30-60s xong lại tiếp tục request. Cho đến khi websocket xuất hiện và được phổ biến thì mới ít dùng cách hold request kiểu này. :)
 
nếu tối ưu nhất thì làm dạng pa2 đỡ chờ nhỉ.
-1 api cho 3rd gọi vào để init request
-3rd làm 1 api để bên ông thớt gọi sang gửi token theo request Id của api 1
-api còn lại là ông 3rd dùng token để lấy data

via theNEXTvoz for iPhone
 
Back
Top