Tôi khá mới lập trình với khung Play cũng như Akka, mặc dù tôi đã đọc về chúng một thời gian. Tôi hiện đang bắt đầu một ứng dụng chứng minh-khái niệm trên môi trường Play mặc định/cơ bản. Câu hỏi của tôi xuất phát từ api ứng dụng khách dịch vụ web trong Play (http://www.playframework.org/documentation/2.0.1/ScalaWS).Sử dụng Akka để thực hiện cuộc gọi dịch vụ web từ ứng dụng Play
Ứng dụng này về cơ bản cần phải dàn xếp các cuộc gọi đến dịch vụ web SOAP từ xa ở dạng có thể mở rộng và thực hiện theo cách có thể. Trình duyệt thực hiện cuộc gọi ajax trong JSON, ứng dụng Play cần chuyển đổi chúng thành SOAP/XML và ngược lại trên phản hồi.
Nếu tôi sử dụng ứng dụng khách dịch vụ web chơi trực tiếp thông qua bộ điều khiển, các cuộc gọi này có thể không đồng bộ, tốt hơn cách chúng ta làm bây giờ (chặn). Tuy nhiên, tôi không rõ ràng về cách chính xác này sẽ hành xử dưới tải nặng. Liệu concurrency/thread-management có được để lại cho máy chủ Netty cơ bản không? Tôi có cách nào để điều chỉnh nó không?
Một giải pháp thay thế là sử dụng hệ thống diễn viên Akka từ bộ điều khiển, nơi tôi có thể kiểm soát chính sách định tuyến, kích thước hồ bơi, khả năng chịu lỗi ... Nếu tôi sử dụng phương pháp này, bạn vẫn nên sử dụng async WS của Play khách hàng? Nếu vậy, cách tiếp cận này (của sáng tác tương lai?) Có phải là mô hình được đề nghị không?
Một yếu tố khác khiến cho cách tiếp cận của Akka trở nên hấp dẫn hơn là ứng dụng này sẽ có nhiều trách nhiệm khác, vì vậy chúng tôi có thể kiểm soát/điều chỉnh các tài nguyên được phép cho ActorSystem này và giảm rủi ro của toàn bộ ứng dụng bị kéo xuống Dịch vụ SOAP.
Thực ra tùy chọn thứ hai mà tôi đã tự hỏi là một loại không đồng bộ đôi. Các diễn viên có thể vẫn sử dụng WS API (hoặc httplient không đồng bộ ning cơ bản) không? – anchormath
Bạn lấy lại lời hứa với các yêu cầu WS. Các diễn viên vẫn có thể sử dụng nó. – iwalktheline