Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
thiết kế hệ thống chat có thể handle lượng lớn request
Anh ơi, em đang tìm hiểu cách Line chat thiết kế hệ thống chat. Chat server sử dụng Socket với Netty. Vậy khi 1 người vào ứng dụng chat, server sẽ tạo 1 thread để tiếp nhận người dùng, vì socket là stateful. Như vậy 1 server mà 16 luồng thì có thể handle cùng lúc 16 người, sau đó người thứ 17 sẽ phải tự động tạo 1 service mới bằng cách sử dụng K8s auto scale tăng thêm 1 instance đúng không ạ ? tiếp đến request thứ 33 thì sẽ tăng 1 instance tự động tiếp bằng K8S.
  • Answer
Remain: 5
1 Answer
Avatar
monkey Professional
monkey Professional
  1. LINE đang sử dụng apache thrift em ạ.
  2. Socket server sẽ sử dụng event loop, chính vì vậy mà nó sẽ tạo ra 1 số lượng thread nhất định cho dù có bao nhiều connection đi chăng nữa, vậy nên sẽ không có tình huống mỗi client là 1 thread và scale như em nói nhé.
  • 0
  • Reply