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 ạ
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
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.