2011-09-24 29 views
7

Những tiền đề là thế này: Đối với xử lý công việc không đồng bộ Tôi có một khuôn khổ tự chế rằng:việc xếp hàng thư viện/phần mềm cho Java

  • Cửa hàng jobs in cơ sở dữ liệu
  • Có một api java đơn giản để tạo thêm việc làm và xử lý cho họ
  • chế biến có thể được nhúng vào trong một ứng dụng web hoặc có thể chạy bằng cách riêng của mình ở trên các máy khác nhau để nhân rộng ra
  • UI
  • Web để theo dõi hàng đợi và hủy mục hàng đợi

Tôi muốn thay thế điều này bằng một số thư viện đã sẵn sàng vì tôi mong đợi sự mạnh mẽ hơn từ những thứ đó và tôi không muốn duy trì điều này. Tôi đã nghiên cứu vấn đề và tìm ra bạn có thể sử dụng JMS cho một cái gì đó tương tự. Nhưng tôi vẫn sẽ phải xây dựng một API java đơn giản, tìm ra một thời gian chạy, nơi tôi sẽ đặt chế biến khi tôi muốn mở rộng quy mô và xây dựng một giao diện người dùng giám sát. Tôi cảm thấy như điều duy nhất tôi sẽ được hưởng lợi từ JMS là tôi sẽ không phải làm là những thứ cơ sở dữ liệu.

Có điều gì tương tự với điều này đã sẵn sàng chưa?

CẬP NHẬT

Về cơ bản đây là thiết lập tôi muốn làm:

  • ứng dụng Web chạy trong một container Servlet hoặc Application Server
  • ứng dụng Web sử dụng một api khách hàng để giải quyết việc làm
  • Số lượng máy móc xử lý các công việc đó
  • Giám sát và quản lý công việc từ giao diện người dùng

Trả lời

5

Bạn có thể dùng thạch anh:

http://www.quartz-scheduler.org/

+0

Dường như nó có thể được nhóm lại bằng một cơ sở dữ liệu để lưu trữ các công việc. Những gì tôi không nhận được là làm thế nào tôi sẽ xây dựng những trường hợp cluster. Tôi vẫn phải mã máy chủ của riêng mình để giữ cho Quartz chạy? – palto

+0

@palto Tham khảo tại đây http://www.quartz-scheduler.org/overview/features. Bạn có thể nhúng thạch anh vào ứng dụng JSE hoặc JEE hoặc tạo thạch anh trong máy chủ ứng dụng (hoặc thùng chứa servlet). – Andrey

+0

Nhưng nếu tôi muốn mở rộng quy mô thì sao? Tôi có thể chạy Quartz trên cùng một máy mà ứng dụng web của tôi chạy (thùng chứa servlet). Nhưng nếu tôi muốn di chuyển công việc xử lý ra khỏi ứng dụng web và nhanh chóng x số lượng máy móc để xử lý công việc, tôi sẽ làm điều đó như thế nào?Tôi có cần viết máy chủ của riêng mình không? – palto

0

Kiểm tra lô hàng xuân.

liên kết đến trang web chạy nước rút hàng loạt: http://projects.spring.io/spring-batch/

+0

Làm thế nào bạn hàng loạt thiết lập mùa xuân để chạy trong một thiết lập nơi ứng dụng web tạo ra công ăn việc làm và các máy khác xử lý những công việc ? Tôi đã nhanh chóng xem qua tài liệu và Spring Batch có vẻ như là để xử lý các công việc như một ESB, nhưng làm cách nào để sử dụng nó để mở rộng quy mô? – palto

+0

Tôi không nghĩ Spring Batch có liên quan gì đến ESB. "Scale it out" nghĩa là gì? Âm thanh như một yêu cầu vô nghĩa đối với tôi, giống như việc loại bỏ một giải pháp bởi vì "nó không nhẹ". Bạn có thể giải thích? – duffymo

+0

Theo quy mô, tôi có nghĩa là làm cách nào để thêm các máy bổ sung để xử lý công việc. – palto

Các vấn đề liên quan