Avatar
1
tvd12 Enlightened
tvd12 Enlightened
Tại sao cần hạn chế sử dụng đến socket?
Tại sao cần hạn chế sử dụng đến socket?
  • Answer
socket
Remain: 5
1 Answer
Avatar
tvd12 Enlightened
tvd12 Enlightened
Socket nên dùng cho các tính năng kiểu:
  • client thụ động nhận: ví dụ như thông báo, chat.
  • có tính chất thông báo realtime: ví dụ game state, chat.
  • client cần tương tương tác với những thông tin lưu ở memory, ví dụ như game state.

Nhìn chung là theo hướng hạn chế tối đa việc dùng socket vì:

  1. Nếu việc xử lý I/O quá phức tạp sẽ làm ảnh hưởng đến khả năng phục vụ realtime của socket server, ví dụ 1 API lấy phân trang dữ liệu trả về hàng MB dữ liệu, tổng thời gian phục vụ là 1 giây chẳng hạn, thì có hàng nghìn lượt gọi trong 1 giây có thể sẽ làm cho queue của socket server bị đầy như vậy thì lúc này khả năng realtime sẽ bị giảm đi rất nhiều, tiêu cực nhất là request có thể bị drop. Với những nghiệp vụ I/O phức tạp truy cập vào DB thì sử dụng HTTP sẽ có lợi hơn.
  2. Việc cân tải socket tương đối phức tạp vì phải giữ kết nối.
  3. Các lập trình viên không phải ai cũng quen với lập trình socket.
  • 3
  • Reply
Các nghiệp vụ lấy danh sách dữ liệu nên dùng HTTP  –  tvd12 1682911669000