Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
transaction với reactive
qua chia sẻ của anh, em nắm được reactive rất mạnh trong việc I/O so với blocking, nhưng nếu sử dụng transaction thì k thể sử dụng reactive, đặc biệt các CSDL quan hệ đúng k ạ
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
Nói không thể thì không đúng, em vẫn có thể sử dụng reactive được. Tuy nhiên transaction có 3 trong 4 tính chất cần quan tâm trong trường hợp này là:

  1. Tính nguyên tố (Atomicity). Một giao dịch có nhiều thao tác khác biệt thì hoặc là toàn bộ các thao tác hoặc là không một thao tác nào được hoàn thành. Chẳng hạn việc chuyển tiền có thể thành công hay trục trặc vì nhiều lý do nhưng tính nguyên tố bảo đảm rằng một tài khoản sẽ không bị trừ tiền nếu như tài khoản kia chưa được cộng số tiền tương ứng.
  2. Tính nhất quán (Consistency). Một giao dịch hoặc là sẽ tạo ra một trạng thái mới và hợp lệ cho dữ liệu, hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu về trạng thái trước khi thực thi giao dịch.
  3. Tính độc lập (Isolation). Một giao dịch đang thực thi và chưa được xác nhận phải bảo đảm tách biệt khỏi các giao dịch khác.

Như vậy em có thể sử dụng reactive nếu em thực hiện nhiều transaction đồng thời. Còn đối với chỉ 1 transaction thì em không nên dùng reactive.

  • 1
  • Reply