Sự đánh đổi hiệu suất và tính nhất quán trong hệ thống backend

Nội dung bài viết

Video học lập trình mỗi ngày

Nhân tiện có đồng chí hỏi thì Tips JavaScript nói luôn vì câu hỏi ná ná giống nhau mà mô hình triển khai code lại khác nhau.

Tính nhất quán vs sự đánh đổi hiệu suất.

Đầu tiên mình cùng xem câu hỏi (Hình 1...) Nó phải chính xác dữ liệu ngay tức thì, thuật ngữ gọi là tính nhất quán. Thì anh em trong member youtube cũng khá rõ về trường hợp này. Giờ mình nói lại...

Phân loại tính nhất quán như thế nào?

Khi chúng ta nói về tính nhất quán nhất là các hệ thống phân tán, thì sách vở chỉ có phân hai loại, nhất quán yếu và nhất quán mạnh. Nhưng thực tế thì phải có 3 loại tính nhất quán.

Tính nhất quán Yếu: Yếu thì khó ra gió, ở trong nhà an toàn nhưng không nhìn được nhà người ta. Nghĩa là sau khi các action data được hoàn thành thì chưa chắc hệ thống đảm bảo rằng các request tiếp theo sẽ có giá trị mới cập nhật ngay lập tức. Hay còn gọi là có độ trễ cho họ thở, gọi là yếu...

Tính nhất quán Mạnh: Mạnh thì ra gió, nhưng sẽ hay trúng gió. Hay gọi là tính nhất quán mạnh mẽ, ngược lại với yếu thì Mạnh sẽ đảm bảo rằng sau khi hoàn thành thao tác được lắng nghe (change data, add data), thì các request tiếp theo đều có thể đọc giá trị được cập nhật. Tuy nhiên, nhớ nè tuy nhiên nè, hiệu suất của nó yếu và hiếm khi được sử dụng trong các hệ thống Internet mà được sử dụng nhiều hơn trong lĩnh vực tài chính. Chính vì nó đồng bộ (ở đây liên quan đến chặn, không chặn, đồng bộ, không đồng bộ, chưa nói đâu... xem thêm dưới comment cho vui nào...) nên hiệu suất sẽ thấp hơn.

Còn cái cuối cùng Tips JavaScript chia sẻ sau cho anh em. Anh em hội viên yêu quý... Nó có thuật toán và cách làm riêng...

Có thể bạn đã bị missing