Tôi đang cố gắng tìm ra cách xử lý tốt nhất các hoạt động cơ sở dữ liệu trong khi sử dụng hệ thống diễn viên. thực sự hoạt động cơ sở dữ liệu đang chặn trong khi chúng tôi cố gắng không chặn trong AKKA.AKKA Actor và DataBase Operation
Tôi đỏ trong doc chính mà một trong những cách để xử lý đó là tạo ra một một vũng diễn viên đằng sau một bộ định tuyến, có khả năng về một executionContext tách ra, mà sẽ xử lý truy cập cơ sở dữ liệu.
Vì vậy, tôi có các câu hỏi sau:
1 - Cơ sở dữ liệu có giữ kết nối luôn mở không?
2 - Cách hoạt động cùng với kết nối Kết nối như được cung cấp bởi nhiều cơ sở dữ liệu?
3 - Chúng ta sẽ kết hợp cả hai, và có DatabaseActors yêu cầu một kết nối mới từ hồ bơi mỗi khi họ được trưng cầu. Nếu không, không phải là nó giữ một kết nối mở ở tất cả các thời gian một điều xấu để làm gì?
4 - Ai đó có thể giải thích cho tôi điều tinh tế làm cho nó trở thành một cách tiếp cận tránh nạn đói. Ví dụ bằng cách sử dụng Play hoặc spray, việc xử lý yêu cầu là một nhiệm vụ không đồng bộ, tuy nhiên nếu nhiệm vụ đó cần truy cập cơ sở dữ liệu và chúng tôi gửi yêu cầu đến DatabaseActor, thì khối trên cơ sở dữ liệu Actor (nếu nó xảy ra) không gây ra, một khối trong nhiệm vụ không đồng bộ, dẫn đến nạn đói có thể xảy ra?
5 - Có chắc chắn 100% tài sản DB ACID đảm bảo sự an toàn của nhiều đọc và viết và do đó sẽ xảy ra trước khi mối quan hệ.
6 - Tôi đang sử dụng cơ sở dữ liệu ngữ nghĩa hay còn gọi là ba cửa hàng và làm cho nặng sử dụng khả năng lập luận ngữ nghĩa trong yêu cầu của tôi. Tôi cũng thực hiện rất nhiều quyền truy cập ghi, bất kỳ lời khuyên nào, liên quan đến các thông số điều chỉnh của số gộp và số diễn viên hoặc bối cảnh thực thi chuyên dụng?
nhất,
M
Cảm ơn bạn đã làm rõ. – MaatDeamon