Trước hết, tôi có một câu hỏi khái niệm, Liệu từ "phân tán" chỉ có nghĩa là ứng dụng được chạy trên nhiều máy? hoặc có những cách khác mà một ứng dụng có thể được coi là phân tán (ví dụ nếu có nhiều mô-đun độc lập tương tác với togehter nhưng trên cùng một máy thì điều này có được phân phối không?).Làm thế nào để xây dựng một ứng dụng java phân tán?
Thứ hai, tôi muốn xây dựng một hệ thống thực hiện bốn loại tác vụ, sẽ có nhiều khách hàng và mỗi khách hàng sẽ có nhiều nhiệm vụ của từng loại để chạy định kỳ. Ví dụ: customer1 sẽ có task_type1 ngày hôm nay, task_type2 sau hai ngày và cứ thế, có thể có customer2 có task_type1 được thực thi cùng lúc với task_type1 của customer1. tức là cần có sự đồng thời. Cấu hình để thực thi các tác vụ sẽ được lưu trữ trong DB và kết quả của các nhiệm vụ này cũng sẽ được lưu trữ trong DB. khách hàng sẽ sử dụng hệ thống từ trình duyệt web (trang html) để tương tác với hệ thống (về cơ bản, cấu hình nhiệm vụ và xem kết quả). Tôi nghĩ về việc sử dụng một webservice còn lại (sử dụng JAX-RS), nơi các trang html sẽ liên lạc với và trên các chủ đề sử dụng phụ trợ để thực thi đồng thời. Câu hỏi:
- Điều này nghe có vẻ đơn giản, nhưng tôi có đi đúng hướng không? hoặc tôi nên sử dụng các công nghệ hoặc khái niệm khác như Java Beans chẳng hạn?
2.Nếu cách tiếp cận của tôi tốt, tôi có cần sử dụng ngôn ngữ kịch bản như JSP hoặc tôi có thể gửi biểu mẫu html trực tiếp đến các url còn lại và nhận kết quả (sử dụng JSON chẳng hạn) không?
- Nếu tôi muốn làm cho ứng dụng được phân phối, có thể với ý tưởng của tôi không? Nếu không thì tôi cần sử dụng cái gì?
Xin lỗi vì có nhiều câu hỏi, nhưng tôi thực sự nhầm lẫn về điều này.
bạn có thực sự mong đợi rằng 'task_type1',' task_type2', v.v ... sẽ rất chuyên sâu về CPU không? Bạn đã * thử nghiệm * để xác nhận điều đó chưa? Có thực sự sẽ có rất nhiều người dùng sử dụng ứng dụng cùng một lúc? Nó có thể là một máy chủ duy nhất có thể xử lý tải tốt và phân phối các ứng dụng sẽ chỉ phức tạp những thứ không có lợi ích bổ sung. 2, không giả sử bạn cần chủ đề bởi vì "nhiệm vụ cần phải được thực hiện cùng một lúc". Trừ khi bạn cần tận dụng lợi thế của nhiều CPU, một chủ đề kéo các nhiệm vụ ra khỏi một hàng đợi công việc có thể sẽ hoạt động tốt. –
@ AlexD các nhiệm vụ không phải là CPU chuyên sâu, nhưng nếu tôi nhận được nhiều khách hàng với nhiều nhiệm vụ thì đây có thể là một vấn đề trong tương lai, tôi đang xem xét khả năng mở rộng cho tương lai. Tôi giả sử một máy chủ sẽ xử lý ngay bây giờ. Nhưng tôi muốn biết cách phân phối nó trong trường hợp tôi cần. I E.Tôi muốn hiểu các khái niệm về phân phối. – Sami
@AlexD Về chủ đề, tôi cần các nhiệm vụ được thực hiện vào các thời điểm cụ thể, ví dụ, có thể có task_type1 sẽ được thực hiện lúc 10:00 sáng cho khách hàng1 và một task_type1 khác cho khách hàng2 cũng lúc 10:00 sáng. Tôi cần một số loại đồng thời trong thực thi. tức là: xử lý hai tác vụ song song. – Sami