Asked Dec 21st, 2019 2:50 AM 260 1 3
  • 260 1 3
+2

Tên công nghệ/ giải pháp dùng để listener sự kiện từ Backend trên Web Browser Client?

Share
  • 260 1 3

Hi, Sorry vì title đặt câu hỏi hơi khó hiểu, vì mình cũng không biết đặt keyword thế nào.

Ví dụ: khi mình thanh toán mua 1 sản phẩm trên website, tại mục thanh toán bằng QR Code. => Trên điện thoại, mình dùng ví điện tử scan QR code trên web và thanh toán. Sau khi thanh toán thành công, thì trên giao diện web browser, tự động "refresh"/ "reload" lại và thông báo "Đã thanh toán thành công". Đã có 1 cơ chế để phía client listener sự kiện tại đây. Và mình đang thắc mắc là bây giờ nhà nhà, người người đang dùng cái gì?

Thank you,

// Mình có nghĩ tới socket, realtimeDb, nhưng không chắc keyword này có đúng "chuyên ngành" mà xu thế mọi người đang dùng trong case này ko.

3 ANSWERS


Answered Dec 23rd, 2019 8:03 AM
Accepted
+2

Về mặt technical thì gọi là Web Socket / Socket.io là đúng rồi đấy bạn. Bạn tham khỏa thêm comment của bác @johansirius ở phía bên dưới, mình thấy bác ý nói đúng rồi đấy:

Giải pháp phổ biến nhất là dùng Websocket, ứng dụng trên di động duy trì kênh kết nối đến backend, ngay khi hoàn thành đơn hàng, mobile sẽ phát một sự kiện và backend chuyển trang. Do là trang TMĐT lưu lượng rất lớn nên họ thường dùng Kafka hay RabbitMQ.

Theo đó thì bạn có một số technical để áp dụng vào hệ thống như:

  • Web socket / socket.io
  • Pusher
  • Kafka
  • RabbitMQ

Nếu website của bạn là website nhỏ thì bạn cứ socket.io mà dùng nhé.

Share
Dec 24th, 2019 3:26 AM

thank bác câu trả lời của bác và @johansirius đã thỏa mãn mình. Có nhiều cách để giải quyết bài toán mà mình đang nói, nhưng cái mình quan tâm là cái nào mà mọi người đang hay dùng nhất. (Vì có lẽ đó sẽ là cái hợp lý nhất).

0
| Reply
Share
Answered Dec 21st, 2019 8:08 AM
+2

Some keywords

Share
botviet @botviet
Dec 23rd, 2019 2:10 AM

Theo mình nghĩ đơn giản là client sẽ settimeout để call API xác nhận tới server thôi. Nếu có công nghệ nào giải quyết vấn đề này thì mình cũng muốn được biết thêm.

0
| Reply
Share
Sirus Johan @johansirius
Dec 23rd, 2019 2:58 AM

Giải pháp phổ biến nhất là dùng Websocket, ứng dụng trên di động duy trì kênh kết nối đến backend, ngay khi hoàn thành đơn hàng, mobile sẽ phát một sự kiện và backend chuyển trang. Do là trang TMĐT lưu lượng rất lớn nên họ thường dùng Kafka hay RabbitMQ.

+3
| Reply
Share
Answered Dec 21st, 2019 7:25 AM
+1

Theo mình biết thì với trường hợp của bạn có thể sử dụng Pusher nếu như không sử dụng quá nhiều (200k message/ngày). Thường thì các ví điện tử sẽ có 1 callback url để trả kết quả trả về thanh toán thành công, thất bại. Khi gọi tới url này thì đẩy qua pusher cho việc realtime thông báo đó. Ngoài ra còn có Firebase hoặc socketio...

Share