Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
về reactive có khả năng chịu tải
Anh ơi, vì sao Reactive có thể chịu lỗi tốt hơn so với thông thường. Ví dụ tomcat có 100 thread, đang xử lý cùng lúc 100 request, sau đó 50 request khác cùng gửi thì tomcat chết nhưng nếu code reactive thì k chết. Tại sao vậy ạ
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
Reactive không liên quan gì đến khả năng chịu tải em ạ. Reactive chỉ là 1 kỹ thuật lập trình sử dụng kết hợp giữa đa luồng và observer design pattern nhằm mục tiêu gọi nhiều xử lý I/O đồng thời. Bởi vì các nghiệp vụ I/O (truy vấn dữ liệu trong db hoặc gọi api) đơn lẻ thường ở dạng blocking (gọi và chờ kết quả trả về), nên nếu gọi nhiều câu truy vấn thì các câu lệnh sẽ phải chờ nhau.

Bây giờ với đa luồng thì nó sẽ gọi 1 loạt các câu lệnh truy vấn cùng 1 lúc và tổng hợp kết quả sau. Như vậy thì áp lực xử lý sẽ đè nặng lên vai của DB thay vì các server như tomcat.

Chi tiết hơn em có thể tham khảo bài viết này nhé.

  • 0
  • Reply